def merge!(other)
      other.each do |key, other_value|
        self_value = send(key)
        sub_options = self.class.options_for(key)
        new_value = if self_value && sub_options && other_value
                      self_value.merge(other_value)
                    else
                      other_value
                    end
        send("#{key}=", new_value) unless new_value.nil?
      end
      self
    end
def merge!(other)
      other.each do |key, other_value|
        self_value = send(key)
        sub_options = self.class.options_for(key)
        new_value = if self_value && sub_options && other_value
                      self_value.merge(other_value)
                    else
                      other_value
                    end
        send("#{key}=", new_value) unless new_value.nil?
      end
      self
    end
Public