class Authful::User
Attributes
email[RW]
error[RW]
phone[RW]
qr_code[RW]
token[RW]
Public Class Methods
[](token)
click to toggle source
# File lib/authful/user.rb, line 5 def self.[](token) self.new(token: token) end
create!(args)
click to toggle source
# File lib/authful/user.rb, line 34 def self.create!(args) self.new(args).save end
new(args)
click to toggle source
# File lib/authful/user.rb, line 9 def initialize(args) args.each do |k,v| instance_variable_set("@#{k}", v) unless v.nil? end end
Public Instance Methods
destroy()
click to toggle source
# File lib/authful/user.rb, line 38 def destroy delete("/api/users/#{token}")["ok"] == 1 end
save()
click to toggle source
# File lib/authful/user.rb, line 15 def save r = post("/api/users", {email: email, phone: phone}) self.qr_code = r["qr_code"] self.token = r["token"] rescue if Authful::Errors::IncorrectApiToken === $! raise Authful::Errors::IncorrectApiToken elsif $!.http_code == 409 # Catch duplicate user -- already enrolled r = JSON.parse($!.response) self.token = r["token"] elsif $!.http_code == 400 r = JSON.parse($!.response) self.error = r["error"] false else raise $! end end
send_sms()
click to toggle source
# File lib/authful/user.rb, line 42 def send_sms get("/api/users/#{token}/send_sms")["ok"] == 1 rescue if Authful::Errors::IncorrectApiToken === $! raise Authful::Errors::IncorrectApiToken elsif $!.http_code == 400 r = JSON.parse($!.response) self.error = r["error"] false else raise $! end end
valid?(otp_token)
click to toggle source
# File lib/authful/user.rb, line 56 def valid?(otp_token) get("/api/users/#{token}/validate?token=#{otp_token}")["ok"] == 1 rescue if Authful::Errors::IncorrectApiToken === $! raise Authful::Errors::IncorrectApiToken elsif $!.http_code == 403 r = JSON.parse($!.response) self.error = r["error"] false else raise $! end end