Class: AruxApp::API::Account

Inherits:
Object
  • Object
show all
Defined in:
lib/arux_app/api/account.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Account

Returns a new instance of Account.



6
7
8
9
10
11
12
13
14
# File 'lib/arux_app/api/account.rb', line 6

def initialize(options = {})
  self.auth         = options[:auth]
  self.access_token = options[:access_token]
  self.api_version  = options[:api_version] || 1.3

  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 AruxApp::API::Auth") if self.auth and !self.auth.is_a?(AruxApp::API::Auth)
  raise API::InitializerError.new(:access_token, "must be of class type AruxApp::API::Auth::AccessToken") if self.access_token and !self.access_token.is_a?(AruxApp::API::Auth::AccessToken)
end

Instance Attribute Details

#access_tokenObject

Returns the value of attribute access_token.



4
5
6
# File 'lib/arux_app/api/account.rb', line 4

def access_token
  @access_token
end

#api_versionObject

Returns the value of attribute api_version.



4
5
6
# File 'lib/arux_app/api/account.rb', line 4

def api_version
  @api_version
end

#authObject

Returns the value of attribute auth.



4
5
6
# File 'lib/arux_app/api/account.rb', line 4

def auth
  @auth
end

Class Method Details

.api_uriObject



24
25
26
# File 'lib/arux_app/api/account.rb', line 24

def self.api_uri
  AruxApp::API.uri(subdomain: "account.api")
end

.public_uriObject



16
17
18
# File 'lib/arux_app/api/account.rb', line 16

def self.public_uri
  AruxApp::API.uri(subdomain: "account")
end

Instance Method Details

#add_relationshipObject



154
155
# File 'lib/arux_app/api/account.rb', line 154

def add_relationship
end

#api_uriObject



28
29
30
# File 'lib/arux_app/api/account.rb', line 28

def api_uri
  self.class.api_uri
end

#create(params) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/arux_app/api/account.rb', line 64

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



117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'lib/arux_app/api/account.rb', line 117

def delete(uuid)
  uuid = AruxApp::API.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_relationshipObject



160
161
# File 'lib/arux_app/api/account.rb', line 160

def delete_relationship
end

#get(uuid, params = {}) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/arux_app/api/account.rb', line 47

def get(uuid, params = {})
  uuid = AruxApp::API.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



32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/arux_app/api/account.rb', line 32

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_relationshipsObject

TODO

create mapping for relationships api endpoints



151
152
# File 'lib/arux_app/api/account.rb', line 151

def list_relationships
end

#merge(uuid1, uuid2) ⇒ Object



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/arux_app/api/account.rb', line 100

def merge(uuid1, uuid2)
  uuid1 = AruxApp::API.uri_escape(uuid1)
  uuid2 = AruxApp::API.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



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'lib/arux_app/api/account.rb', line 133

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

#public_uriObject



20
21
22
# File 'lib/arux_app/api/account.rb', line 20

def public_uri
  self.class.public_uri
end

#update(uuid, params) ⇒ Object



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/arux_app/api/account.rb', line 81

def update(uuid, params)
  uuid = AruxApp::API.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_relationshipObject



157
158
# File 'lib/arux_app/api/account.rb', line 157

def update_relationship
end