Class: Authy::API
- Inherits:
-
Object
- Object
- Authy::API
- Extended by:
- HTTPClient::IncludeClient
- Includes:
- URL
- Defined in:
- lib/authy/api.rb
Overview
Constant Summary collapse
- USER_AGENT =
"authy-ruby"
Class Method Summary collapse
- .build_error_response(error = "blank uri param found") ⇒ Object
-
.delete_user(params) ⇒ Object
options: :id user id.
- .get_request(uri, params = {}) ⇒ Object
- .post_request(uri, params = {}) ⇒ Object
- .register_user(attributes) ⇒ Object
-
.request_phone_call(params) ⇒ Object
options: :id user id :force force phone_call.
-
.request_sms(params) ⇒ Object
options: :id user id :force force sms.
- .user_status(params) ⇒ Object
-
.verify(params) ⇒ Object
options: :id user id :token authy token entered by the user :force (true|false) force to check even if the cellphone is not confirmed.
Methods included from URL
Class Method Details
.build_error_response(error = "blank uri param found") ⇒ Object
103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/authy/api.rb', line 103 def self.build_error_response(error = "blank uri param found") OpenStruct.new({ 'status' => 400, 'body' => { 'success' => false, 'message' => error, 'errors' => { 'message' => error } }.to_json }) end |
.delete_user(params) ⇒ Object
options: :id user id
63 64 65 66 67 |
# File 'lib/authy/api.rb', line 63 def self.delete_user(params) user_id = params.delete(:id) || params.delete('id') post_request("protected/json/users/delete/:user_id", params.merge({"user_id" =>user_id})) end |
.get_request(uri, params = {}) ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/authy/api.rb', line 90 def self.get_request(uri, params = {}) uri_params = keys_to_verify(uri, params) state, error = validate_for_url(uri_params, params) response = if state url = "#{Authy.api_uri}/#{eval_uri(uri, params)}" params = clean_uri_params(uri_params, params) http_client.get(url, escape_params({:api_key => Authy.api_key}.merge(params))) else build_error_response(error) end Authy::Response.new(response) end |
.post_request(uri, params = {}) ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/authy/api.rb', line 76 def self.post_request(uri, params = {}) uri_params = keys_to_verify(uri, params) state, error = validate_for_url(uri_params, params) response = if state url = "#{Authy.api_uri}/#{eval_uri(uri, params)}" params = clean_uri_params(uri_params, params) http_client.post(url, :body => escape_query({:api_key => Authy.api_key}.merge(params))) else build_error_response(error) end Authy::Response.new(response) end |
.register_user(attributes) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/authy/api.rb', line 15 def self.register_user(attributes) api_key = attributes.delete(:api_key) params = { :user => attributes, :api_key => api_key || Authy.api_key } url = "#{Authy.api_uri}/protected/json/users/new" response = http_client.post(url, :body => escape_query(params)) Authy::User.new(response) end |
.request_phone_call(params) ⇒ Object
options: :id user id :force force phone_call
55 56 57 58 59 |
# File 'lib/authy/api.rb', line 55 def self.request_phone_call(params) user_id = params.delete(:id) || params.delete('id') get_request("protected/json/call/:user_id", params.merge({"user_id" => user_id})) end |
.request_sms(params) ⇒ Object
options: :id user id :force force sms
46 47 48 49 50 |
# File 'lib/authy/api.rb', line 46 def self.request_sms(params) user_id = params.delete(:id) || params.delete('id') get_request("protected/json/sms/:user_id", params.merge({"user_id" => user_id})) end |
.user_status(params) ⇒ Object
69 70 71 72 |
# File 'lib/authy/api.rb', line 69 def self.user_status(params) user_id = params.delete(:id) || params.delete("id") get_request("protected/json/users/:user_id/status", params.merge({"user_id" => user_id})) end |
.verify(params) ⇒ Object
options: :id user id :token authy token entered by the user :force (true|false) force to check even if the cellphone is not confirmed
33 34 35 36 37 38 39 40 41 |
# File 'lib/authy/api.rb', line 33 def self.verify(params) token = params.delete(:token) || params.delete('token') user_id = params.delete(:id) || params.delete('id') params[:force] = true if params[:force].nil? && params['force'].nil? get_request("protected/json/verify/:token/:user_id", params.merge({ "token" => token, "user_id" => user_id})) end |