module Devise::Models::SmsVerifiable

Public Instance Methods

sms_confirm!() click to toggle source
# File lib/devise_sms_verifiable/model.rb, line 20
def sms_confirm!
  token = generate_token!
  public_send(:update, Hash[Devise::sms_answer_field, token,
                            :sms_token_sent_at, DateTime.now])
  token
end
sms_confirmed?() click to toggle source
# File lib/devise_sms_verifiable/model.rb, line 8
def sms_confirmed?
  public_send("#{Devise::phone_confirmation_field}?")
end
sms_unconfirm!() click to toggle source
# File lib/devise_sms_verifiable/model.rb, line 12
def sms_unconfirm!
  unconfirm_hash = Hash[Devise::sms_answer_field, nil,
                        Devise::phone_confirmation_field, false,
                        Devise::sms_token_sent_at, nil,
                        Devise::sms_token_confirmed_at, nil]
  public_send(:update, unconfirm_hash)
end
valid_token?(incoming_token) click to toggle source
# File lib/devise_sms_verifiable/model.rb, line 27
def valid_token?(incoming_token)
  @@sms_secret == incoming_token.to_s
end

Protected Instance Methods

generate_token!() click to toggle source
# File lib/devise_sms_verifiable/model.rb, line 33
def generate_token!
  meth = Devise::token_generator
  token = if meth.is_a? Symbol
            rand(2000..4000)
          elsif meth.is_a? Proc
            meth.call
          end
  token
end