module ConfirmedAttributes::Confirmable::InstanceMethods

Public Instance Methods

confirm(attribute_name, user_id = nil) click to toggle source
# File lib/confirmed_attributes/confirmable.rb, line 39
def confirm(attribute_name, user_id = nil)
  return false if new_record? || send(attribute_name).blank?

  confirmed_attribute = confirmed_attributes.new user_id: nil
  confirmed_attribute.verify(attribute_name)
end
confirmable_attribute?(attribute_name) click to toggle source
# File lib/confirmed_attributes/confirmable.rb, line 53
def confirmable_attribute?(attribute_name)
  return false if attribute_name.blank?

  confirmable_attributes.include? attribute_name.to_sym
end
confirmed_attribute?(attribute_name) click to toggle source
# File lib/confirmed_attributes/confirmable.rb, line 30
def confirmed_attribute?(attribute_name)
  if confirmable_attribute? attribute_name
    attribute = confirmed_attributes.find_by(name: attribute_name)
    return false unless attribute

    attribute && attribute.value.to_s == send(attribute_name).to_s
  end
end
unconfirm(attribute_name, user_id = nil) click to toggle source
# File lib/confirmed_attributes/confirmable.rb, line 46
def unconfirm(attribute_name, user_id = nil)
  array = confirmed_attributes.where(name: attribute_name, value: send(attribute_name))
  return false if new_record? || array.empty?

  !!array.delete_all
end