# File lib/mail/header.rb, line 135 def []=(name, value) name = dasherize(name) selected = select_field_for(name) case # User wants to delete the field when !selected.blank? && value == nil fields.delete_if { |f| selected.include?(f) } # User wants to change the field when !selected.blank? && limited_field?(name) selected.first.update(name, value) # User wants to create the field else # Need to insert in correct order for trace fields self.fields << Field.new(name.to_s, value) end end