Class: Devise::SmsVerifiableController

Inherits:
DeviseController
  • Object
show all
Defined in:
app/controllers/devise/sms_verifiable_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



7
8
9
10
11
12
13
14
15
16
# File 'app/controllers/devise/sms_verifiable_controller.rb', line 7

def create
  resource.sms_secret = public_send("current_#{resource_name}").public_send(Devise::sms_answer_field)
  secret = params[:user][:sms_secret]
  if secret && resource.sms_secret && resource.valid_secret?(secret)
    public_send("current_#{resource_name}").public_send(:update, Hash[Devise::phone_confirmation_field, true])
    redirect_to after_successful_phone_confirmation_path(resource)
  else
    render :new
  end
end

#newObject



4
5
# File 'app/controllers/devise/sms_verifiable_controller.rb', line 4

def new
end

#resourceObject



28
29
30
31
32
# File 'app/controllers/devise/sms_verifiable_controller.rb', line 28

def resource
  _resource = resource_class.new
  instance_variable_set(:@user, _resource)
  _resource
end

#send_passObject



18
19
20
21
22
23
24
25
26
# File 'app/controllers/devise/sms_verifiable_controller.rb', line 18

def send_pass
  number = public_send("current_#{resource_name}").public_send(Devise::phone_field)
  provider = Devise::sms_provider
  pass_word = public_send(Devise::sms_secret_method)
  if [number, provider, pass_word].all?
    provider.public_send(:send_sms, number, pass_word)
  end
  render :new
end