def reverse_assign_attributes(attributes_hash)
      attributes_to_assign = attributes_hash.keys.reject{|_attribute_name| attribute_present?(_attribute_name) }

      assign_attributes(attributes_hash.slice(attributes_to_assign))
    end
def reverse_assign_attributes(attributes_hash)
      attributes_to_assign = attributes_hash.keys.reject{|_attribute_name| attribute_present?(_attribute_name) }

      assign_attributes(attributes_hash.slice(attributes_to_assign))
    end
def reverse_assign_attributes ( attributes_hash ) attributes_to_assign = attributes_hash . keys . reject { | _attribute_name | attribute_present? ( _attribute_name ) } assign_attributes ( attributes_hash . slice ( attributes_to_assign ) ) end
like reverse merge, only assigns attributes which have not yet been assigned
like reverse merge only assigns attributes which have not yet been assigned