Class: Eleyo::API::Account
- Inherits:
-
Object
- Object
- Eleyo::API::Account
- Defined in:
- lib/eleyo/api/account.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#access_token ⇒ Object
Returns the value of attribute access_token.
-
#api_version ⇒ Object
Returns the value of attribute api_version.
-
#auth ⇒ Object
Returns the value of attribute auth.
Class Method Summary collapse
Instance Method Summary collapse
- #add_relationship ⇒ Object
- #add_user_lock(user_uuid, scope, reason = "") ⇒ Object
- #create(params) ⇒ Object
- #delete(uuid) ⇒ Object
- #delete_relationship ⇒ Object
- #delete_user_lock(user_uuid, lock_id) ⇒ Object
- #get(uuid, params = {}) ⇒ Object
-
#initialize(options = {}) ⇒ Account
constructor
A new instance of Account.
- #list(params = {}) ⇒ Object
-
#list_relationships ⇒ Object
- TODO
-
create mapping for relationships api endpoints.
- #list_user_locks(user_uuid) ⇒ Object
- #merge(uuid1, uuid2) ⇒ Object
- #owner(params = {}) ⇒ Object
- #update(uuid, params) ⇒ Object
- #update_relationship ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Account
Returns a new instance of Account.
16 17 18 19 20 21 22 23 24 |
# File 'lib/eleyo/api/account.rb', line 16 def initialize( = {}) self.auth = [:auth] self.access_token = [:access_token] self.api_version = [:api_version] || 1.2 raise API::InitializerError.new(:auth_or_access_token, "can't be blank") if self.auth.nil? and self.access_token.nil? raise API::InitializerError.new(:auth, "must be of class type Eleyo::API::Auth") if self.auth and !self.auth.is_a?(Eleyo::API::Auth) raise API::InitializerError.new(:access_token, "must be of class type Eleyo::API::Auth::AccessToken") if self.access_token and !self.access_token.is_a?(Eleyo::API::Auth::AccessToken) end |
Instance Attribute Details
#access_token ⇒ Object
Returns the value of attribute access_token.
14 15 16 |
# File 'lib/eleyo/api/account.rb', line 14 def access_token @access_token end |
#api_version ⇒ Object
Returns the value of attribute api_version.
14 15 16 |
# File 'lib/eleyo/api/account.rb', line 14 def api_version @api_version end |
#auth ⇒ Object
Returns the value of attribute auth.
14 15 16 |
# File 'lib/eleyo/api/account.rb', line 14 def auth @auth end |
Class Method Details
.server_uri ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/eleyo/api/account.rb', line 4 def self.server_uri if Eleyo::API.standardmode? "https://acc.reg.eleyo.com" elsif Eleyo::API.testmode? "https://acc.reg.eleyo.green" elsif Eleyo::API.devmode? "https://acc.#{HOSTNAME}" end end |
Instance Method Details
#add_relationship ⇒ Object
204 205 |
# File 'lib/eleyo/api/account.rb', line 204 def add_relationship end |
#add_user_lock(user_uuid, scope, reason = "") ⇒ Object
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'lib/eleyo/api/account.rb', line 160 def add_user_lock(user_uuid, scope, reason = "") uuid = URI.escape(user_uuid.to_s) request = HTTPI::Request.new request.url = "#{api_route}/users/#{uuid}/locks" request.body = { user_lock: { scope: scope, reason: reason } }.to_json request.headers = self.generate_headers response = HTTPI.post(request) if response.code == 201 true elsif !response.error? JSON.parse(response.body) else raise(API::Error.new(response.code, response.body)) end end |
#create(params) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/eleyo/api/account.rb', line 58 def create(params) request = HTTPI::Request.new request.url = "#{api_route}/users/" request.body = params.to_json request.headers = self.generate_headers response = HTTPI.post(request) if response.code == 201 true elsif !response.error? JSON.parse(response.body) else raise(API::Error.new(response.code, response.body)) end end |
#delete(uuid) ⇒ Object
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/eleyo/api/account.rb', line 111 def delete(uuid) uuid = URI.escape(uuid.to_s) request = HTTPI::Request.new request.url = "#{api_route}/users/#{uuid}" request.headers = self.generate_headers response = HTTPI.delete(request) if !response.error? JSON.parse(response.body) else raise(API::Error.new(response.code, response.body)) end end |
#delete_relationship ⇒ Object
210 211 |
# File 'lib/eleyo/api/account.rb', line 210 def delete_relationship end |
#delete_user_lock(user_uuid, lock_id) ⇒ Object
184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/eleyo/api/account.rb', line 184 def delete_user_lock(user_uuid, lock_id) uuid = URI.escape(user_uuid.to_s) request = HTTPI::Request.new request.url = "#{api_route}/users/#{uuid}/locks/#{lock_id}" request.headers = self.generate_headers response = HTTPI.delete(request) if !response.error? JSON.parse(response.body) else raise(API::Error.new(response.code, response.body)) end end |
#get(uuid, params = {}) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/eleyo/api/account.rb', line 41 def get(uuid, params = {}) uuid = URI.escape(uuid.to_s) request = HTTPI::Request.new request.url = "#{api_route}/users/#{uuid}" request.query = URI.encode_www_form(params) request.headers = self.generate_headers response = HTTPI.get(request) if !response.error? JSON.parse(response.body) else raise(API::Error.new(response.code, response.body)) end end |
#list(params = {}) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/eleyo/api/account.rb', line 26 def list(params = {}) request = HTTPI::Request.new request.url = "#{api_route}/users" request.query = URI.encode_www_form(params) request.headers = self.generate_headers response = HTTPI.get(request) if !response.error? JSON.parse(response.body) else raise(API::Error.new(response.code, response.body)) end end |
#list_relationships ⇒ Object
- TODO
-
create mapping for relationships api endpoints
201 202 |
# File 'lib/eleyo/api/account.rb', line 201 def list_relationships end |
#list_user_locks(user_uuid) ⇒ Object
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/eleyo/api/account.rb', line 144 def list_user_locks(user_uuid) uuid = URI.escape(user_uuid.to_s) request = HTTPI::Request.new request.url = "#{api_route}/users/#{user_uuid}/locks" request.headers = self.generate_headers response = HTTPI.get(request) if !response.error? JSON.parse(response.body) else raise(API::Error.new(response.code, response.body)) end end |
#merge(uuid1, uuid2) ⇒ Object
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/eleyo/api/account.rb', line 94 def merge(uuid1, uuid2) uuid1 = URI.escape(uuid1) uuid2 = URI.escape(uuid2) request = HTTPI::Request.new request.url = "#{api_route}/users/merge/#{uuid1}/#{uuid2}" request.headers = self.generate_headers response = HTTPI.put(request) if !response.error? JSON.parse(response.body) else raise(API::Error.new(response.code, response.body)) end end |
#owner(params = {}) ⇒ Object
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/eleyo/api/account.rb', line 127 def owner(params = {}) raise API::RequirementError.new(:access_token, "can't be blank") if self.access_token.nil? request = HTTPI::Request.new request.url = "#{api_route}/users/owner" request.query = URI.encode_www_form(params) request.headers = self.generate_headers response = HTTPI.get(request) if !response.error? JSON.parse(response.body) else raise(API::Error.new(response.code, response.body)) end end |
#update(uuid, params) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/eleyo/api/account.rb', line 75 def update(uuid, params) uuid = URI.escape(uuid.to_s) request = HTTPI::Request.new request.url = "#{api_route}/users/#{uuid}" request.body = params.to_json request.headers = self.generate_headers response = HTTPI.put(request) if response.code == 204 true elsif !response.error? JSON.parse(response.body) else raise(API::Error.new(response.code, response.body)) end end |
#update_relationship ⇒ Object
207 208 |
# File 'lib/eleyo/api/account.rb', line 207 def update_relationship end |