lib/models/phone.rb in devise_phone-0.0.1662 vs lib/models/phone.rb in devise_phone-0.0.1663
- old
+ new
@@ -29,13 +29,13 @@
module Phone
extend ActiveSupport::Concern
included do
before_create :set_unverified_phone_attributes, :if => :phone_verification_needed?
- after_create :private_generate_verification_code_and_send_sms, :if => :phone_verification_needed?
+ # after_create :private_generate_verification_code_and_send_sms, :if => :phone_verification_needed?
# before_save :remember_old_phone_number
- before_save :private_generate_verification_code_and_send_sms, :if => :phone_number_changed?
+ after_save :private_generate_verification_code_and_send_sms, :if => :regenerate_phone_verification_needed?
end
def generate_verification_code_and_send_sms
if(phone_verification_needed?)
private_generate_verification_code_and_send_sms
@@ -43,11 +43,14 @@
self.save!
end
def verify_phone_number_with_code_entered(code_entered)
if phone_verification_needed? && (code_entered == self.phone_verification_code)
- mark_phone_as_verified!
+ mark_phone_as_verified!
+ true
+ else
+ false
end
end
private
@@ -106,10 +109,27 @@
else
true
end
end
+ def regenerate_phone_verification_needed?
+ if phone_number.present?
+ if phone_number_changed?
+ # puts "condition 1"
+ true
+ else
+ # puts "condition 2"
+ false
+ end
+ # self.errors.add(:phone_verification_code, :empty_phone_number_field)
+ # false
+ else
+ # puts "condition 3"
+ false
+ end
+ end
+
# set attributes to user indicating the phone number is unverified
def set_unverified_phone_attributes
self.phone_number_verified = false
self.phone_verification_code_sent_at = DateTime.now
self.phone_verified_at = nil
@@ -128,16 +148,16 @@
# sends a message to number indicated in the secrets.yml
def send_sms_verification_code
number_to_send_to = self.phone_number
verification_code = self.phone_verification_code
- twilio_sid = Rails.application.secrets.twilio_sid
- twilio_token = Rails.application.secrets.twilio_token
- twilio_phone_number = Rails.application.secrets.twilio_phone_number
+ twilio_sid = Rails.application.config.twilio[:sid]
+ twilio_token = Rails.application.config.twilio[:token]
+ twilio_phone_number = Rails.application.config.twilio[:phone_number]
@twilio_client = Twilio::REST::Client.new twilio_sid, twilio_token
- @twilio_client.account.sms.messages.create(
+ @twilio_client.account.messages.create(
:from => "+1#{twilio_phone_number}",
:to => number_to_send_to,
:body => "Hi! This is MathCrunch. Your verification code is #{verification_code}"
)
end