ost-sdk-ruby 1.1.0 → 2.0.0.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/lib/config.rb +18 -0
  3. data/lib/ost-sdk-ruby/saas.rb +12 -17
  4. data/lib/ost-sdk-ruby/saas/balance.rb +35 -0
  5. data/lib/ost-sdk-ruby/saas/base.rb +94 -12
  6. data/lib/ost-sdk-ruby/saas/{v1.1/ledger.rb → chains.rb} +6 -9
  7. data/lib/ost-sdk-ruby/saas/{v1.1/balances.rb → device_managers.rb} +7 -9
  8. data/lib/ost-sdk-ruby/saas/devices.rb +55 -0
  9. data/lib/ost-sdk-ruby/saas/manifest.rb +40 -0
  10. data/lib/ost-sdk-ruby/saas/price_points.rb +35 -0
  11. data/lib/ost-sdk-ruby/saas/recovery_owners.rb +35 -0
  12. data/lib/ost-sdk-ruby/saas/{v1/token.rb → rules.rb} +6 -9
  13. data/lib/ost-sdk-ruby/saas/services.rb +3 -17
  14. data/lib/ost-sdk-ruby/saas/sessions.rb +44 -0
  15. data/lib/ost-sdk-ruby/saas/tokens.rb +35 -0
  16. data/lib/ost-sdk-ruby/saas/transactions.rb +53 -0
  17. data/lib/ost-sdk-ruby/saas/users.rb +52 -0
  18. data/lib/ost-sdk-ruby/test/balance_test.rb +18 -0
  19. data/lib/ost-sdk-ruby/test/chains_test.rb +18 -0
  20. data/lib/ost-sdk-ruby/test/device_managers_test.rb +18 -0
  21. data/lib/ost-sdk-ruby/test/devices_test.rb +41 -0
  22. data/lib/ost-sdk-ruby/test/price_points_test.rb +18 -0
  23. data/lib/ost-sdk-ruby/test/recovery_owners_test.rb +21 -0
  24. data/lib/ost-sdk-ruby/test/rules_test.rb +18 -0
  25. data/lib/ost-sdk-ruby/test/sessions_test.rb +28 -0
  26. data/lib/ost-sdk-ruby/test/signature_generation_test.rb +33 -0
  27. data/lib/ost-sdk-ruby/test/tokens_test.rb +18 -0
  28. data/lib/ost-sdk-ruby/test/transactions_test.rb +43 -0
  29. data/lib/ost-sdk-ruby/test/users_test.rb +32 -0
  30. data/lib/ost-sdk-ruby/util.rb +1 -1
  31. data/lib/ost-sdk-ruby/util/common_validator.rb +14 -0
  32. data/lib/ost-sdk-ruby/util/custom_error_response.rb +56 -0
  33. data/lib/ost-sdk-ruby/util/http_helper.rb +105 -97
  34. data/lib/ost-sdk-ruby/util/services_helper.rb +3 -75
  35. data/lib/ost-sdk-ruby/version.rb +1 -1
  36. metadata +42 -32
  37. data/Rakefile +0 -8
  38. data/lib/ost-sdk-ruby/saas/v0/services.rb +0 -32
  39. data/lib/ost-sdk-ruby/saas/v0/transaction_kind.rb +0 -85
  40. data/lib/ost-sdk-ruby/saas/v0/users.rb +0 -73
  41. data/lib/ost-sdk-ruby/saas/v1.1/services.rb +0 -41
  42. data/lib/ost-sdk-ruby/saas/v1/actions.rb +0 -64
  43. data/lib/ost-sdk-ruby/saas/v1/airdrops.rb +0 -55
  44. data/lib/ost-sdk-ruby/saas/v1/services.rb +0 -36
  45. data/lib/ost-sdk-ruby/saas/v1/transactions.rb +0 -55
  46. data/lib/ost-sdk-ruby/saas/v1/transfers.rb +0 -55
  47. data/lib/ost-sdk-ruby/saas/v1/users.rb +0 -64
  48. data/lib/ost-sdk-ruby/util/result.rb +0 -240
@@ -1,64 +0,0 @@
1
- module OSTSdk
2
-
3
- module Saas
4
-
5
- module V1
6
-
7
- class Actions < OSTSdk::Saas::Base
8
-
9
- # Initialize
10
- #
11
- # Arguments:
12
- # api_base_url: (String)
13
- # api_key: (String)
14
- # api_secret: (String)
15
- # api_spec: (Boolean)
16
- #
17
- def initialize(params)
18
- super
19
- @url_prefix = '/actions'
20
- end
21
-
22
- # Create a new action
23
- #
24
- # Returns:
25
- # response: (OSTSdk::Util::Result)
26
- #
27
- def create(params = {})
28
- http_helper.send_post_request("#{@url_prefix}/", params)
29
- end
30
-
31
- # Edit an existing action
32
- #
33
- # Returns:
34
- # response: (OSTSdk::Util::Result)
35
- #
36
- def edit(params = {})
37
- http_helper.send_post_request("#{@url_prefix}/#{get_id!(params)}", params)
38
- end
39
-
40
- # Fetches the list of actions (with or without filters)
41
- #
42
- # Returns:
43
- # response: (OSTSdk::Util::Result)
44
- #
45
- def list(params = {})
46
- http_helper.send_get_request("#{@url_prefix}/", params)
47
- end
48
-
49
- # Get details about a action
50
- #
51
- # Returns:
52
- # response: (OSTSdk::Util::Result)
53
- #
54
- def get(params = {})
55
- http_helper.send_get_request("#{@url_prefix}/#{get_id!(params)}", params)
56
- end
57
-
58
- end
59
-
60
- end
61
-
62
- end
63
-
64
- end
@@ -1,55 +0,0 @@
1
- module OSTSdk
2
-
3
- module Saas
4
-
5
- module V1
6
-
7
- class Airdrops < OSTSdk::Saas::Base
8
-
9
- # Initialize
10
- #
11
- # Arguments:
12
- # api_base_url: (String)
13
- # api_key: (String)
14
- # api_secret: (String)
15
- # api_spec: (Boolean)
16
- #
17
- def initialize(params)
18
- super
19
- @url_prefix = '/airdrops'
20
- end
21
-
22
- # Execute an airdrop
23
- #
24
- # Returns:
25
- # response: (OSTSdk::Util::Result)
26
- #
27
- def execute(params = {})
28
- http_helper.send_post_request("#{@url_prefix}/", params)
29
- end
30
-
31
- # Get details about a airdrop
32
- #
33
- # Returns:
34
- # response: (OSTSdk::Util::Result)
35
- #
36
- def get(params = {})
37
- http_helper.send_get_request("#{@url_prefix}/#{get_id!(params)}", params)
38
- end
39
-
40
- # Fetches the list of airdrop (with or without filters)
41
- #
42
- # Returns:
43
- # response: (OSTSdk::Util::Result)
44
- #
45
- def list(params = {})
46
- http_helper.send_get_request("#{@url_prefix}/", params)
47
- end
48
-
49
- end
50
-
51
- end
52
-
53
- end
54
-
55
- end
@@ -1,36 +0,0 @@
1
- module OSTSdk
2
-
3
- module Saas
4
-
5
- module V1
6
-
7
- class Services
8
-
9
- attr_reader :users, :token, :actions, :airdrops, :transactions, :transfers
10
-
11
- # Initialize
12
- #
13
- # Arguments:
14
- # api_base_url: (String)
15
- # api_key: (String)
16
- # api_secret: (String)
17
- # api_spec: (Boolean)
18
- #
19
- def initialize(params)
20
-
21
- @users = OSTSdk::Saas::V1::Users.new(params)
22
- @token = OSTSdk::Saas::V1::Token.new(params)
23
- @actions = OSTSdk::Saas::V1::Actions.new(params)
24
- @airdrops = OSTSdk::Saas::V1::Airdrops.new(params)
25
- @transactions = OSTSdk::Saas::V1::Transactions.new(params)
26
- @transfers = OSTSdk::Saas::V1::Transfers.new(params)
27
-
28
- end
29
-
30
- end
31
-
32
- end
33
-
34
- end
35
-
36
- end
@@ -1,55 +0,0 @@
1
- module OSTSdk
2
-
3
- module Saas
4
-
5
- module V1
6
-
7
- class Transactions < OSTSdk::Saas::Base
8
-
9
- # Initialize
10
- #
11
- # Arguments:
12
- # api_base_url: (String)
13
- # api_key: (String)
14
- # api_secret: (String)
15
- # api_spec: (Boolean)
16
- #
17
- def initialize(params)
18
- super
19
- @url_prefix = '/transactions'
20
- end
21
-
22
- # Execute a transaction
23
- #
24
- # Returns:
25
- # response: (OSTSdk::Util::Result)
26
- #
27
- def execute(params = {})
28
- http_helper.send_post_request("#{@url_prefix}/", params)
29
- end
30
-
31
- # Get details about a transaction
32
- #
33
- # Returns:
34
- # response: (OSTSdk::Util::Result)
35
- #
36
- def get(params = {})
37
- http_helper.send_get_request("#{@url_prefix}/#{get_id!(params)}", params)
38
- end
39
-
40
- # Fetches the list of transactions (with or without filters)
41
- #
42
- # Returns:
43
- # response: (OSTSdk::Util::Result)
44
- #
45
- def list(params = {})
46
- http_helper.send_get_request("#{@url_prefix}/", params)
47
- end
48
-
49
- end
50
-
51
- end
52
-
53
- end
54
-
55
- end
@@ -1,55 +0,0 @@
1
- module OSTSdk
2
-
3
- module Saas
4
-
5
- module V1
6
-
7
- class Transfers < OSTSdk::Saas::Base
8
-
9
- # Initialize
10
- #
11
- # Arguments:
12
- # api_base_url: (String)
13
- # api_key: (String)
14
- # api_secret: (String)
15
- # api_spec: (Boolean)
16
- #
17
- def initialize(params)
18
- super
19
- @url_prefix = '/transfers'
20
- end
21
-
22
- # Execute a transfer
23
- #
24
- # Returns:
25
- # response: (OSTSdk::Util::Result)
26
- #
27
- def execute(params = {})
28
- http_helper.send_post_request("#{@url_prefix}/", params)
29
- end
30
-
31
- # Get details about a transfer
32
- #
33
- # Returns:
34
- # response: (OSTSdk::Util::Result)
35
- #
36
- def get(params = {})
37
- http_helper.send_get_request("#{@url_prefix}/#{get_id!(params)}", params)
38
- end
39
-
40
- # Fetches the list of transfers (with or without filters)
41
- #
42
- # Returns:
43
- # response: (OSTSdk::Util::Result)
44
- #
45
- def list(params = {})
46
- http_helper.send_get_request("#{@url_prefix}/", params)
47
- end
48
-
49
- end
50
-
51
- end
52
-
53
- end
54
-
55
- end
@@ -1,64 +0,0 @@
1
- module OSTSdk
2
-
3
- module Saas
4
-
5
- module V1
6
-
7
- class Users < OSTSdk::Saas::Base
8
-
9
- # Initialize
10
- #
11
- # Arguments:
12
- # api_base_url: (String)
13
- # api_key: (String)
14
- # api_secret: (String)
15
- # api_spec: (Boolean)
16
- #
17
- def initialize(params)
18
- super
19
- @url_prefix = '/users'
20
- end
21
-
22
- # Create a new user
23
- #
24
- # Returns:
25
- # response: (OSTSdk::Util::Result)
26
- #
27
- def create(params = {})
28
- http_helper.send_post_request("#{@url_prefix}/", params)
29
- end
30
-
31
- # Edit an existing user
32
- #
33
- # Returns:
34
- # response: (OSTSdk::Util::Result)
35
- #
36
- def edit(params = {})
37
- http_helper.send_post_request("#{@url_prefix}/#{get_id!(params)}", params)
38
- end
39
-
40
- # Fetches the list of users (with or without filters)
41
- #
42
- # Returns:
43
- # response: (OSTSdk::Util::Result)
44
- #
45
- def list(params = {})
46
- http_helper.send_get_request("#{@url_prefix}/", params)
47
- end
48
-
49
- # Get details about a user
50
- #
51
- # Returns:
52
- # response: (OSTSdk::Util::Result)
53
- #
54
- def get(params = {})
55
- http_helper.send_get_request("#{@url_prefix}/#{get_id!(params)}", params)
56
- end
57
-
58
- end
59
-
60
- end
61
-
62
- end
63
-
64
- end
@@ -1,240 +0,0 @@
1
- module OSTSdk
2
-
3
- module Util
4
-
5
- class Result
6
-
7
- attr_accessor :error,
8
- :error_message,
9
- :internal_id,
10
- :error_data,
11
- :message,
12
- :data,
13
- :exception,
14
- :http_code
15
-
16
- # Initialize
17
- #
18
- # Arguments:
19
- # params: (Hash)
20
- def initialize(params = {})
21
- set_error(params)
22
- set_message(params[:message])
23
- set_http_code(params[:http_code])
24
- @data = params[:data] || {}
25
- end
26
-
27
- # Set Error
28
- #
29
- # Arguments:
30
- # params: (Hash)
31
- def set_error(params)
32
- @error = params[:error] if params.key?(:error)
33
- @error_message = params[:error_message] if params.key?(:error_message)
34
- @error_data = params[:error_data] if params.key?(:error_data)
35
- @internal_id = params[:internal_id] if params.key?(:internal_id)
36
- end
37
-
38
- # Set Message
39
- #
40
- # Arguments:
41
- # msg: (String)
42
- def set_message(msg)
43
- @message = msg
44
- end
45
-
46
- # Set HTTP Code
47
- #
48
- # Arguments:
49
- # msg: (String)
50
- def set_http_code(h_c)
51
- if h_c.nil?
52
- @http_code = 200
53
- else
54
- @http_code = h_c.to_i
55
- end
56
- end
57
-
58
- # Set Exception
59
- #
60
- # Arguments:
61
- # e: (Exception)
62
- def set_exception(e)
63
- @exception = e
64
- end
65
-
66
- # is valid?
67
- #
68
- # @return [Boolean] returns True / False
69
- #
70
- def valid?
71
- !invalid?
72
- end
73
-
74
- # is invalid?
75
- #
76
- # @return [Boolean] returns True / False
77
- #
78
- def invalid?
79
- errors_present?
80
- end
81
-
82
- # Define error / failed methods
83
- #
84
- [:error?, :errors?, :failed?].each do |name|
85
- define_method(name) { invalid? }
86
- end
87
-
88
- # Define success method
89
- #
90
- [:success?].each do |name|
91
- define_method(name) { valid? }
92
- end
93
-
94
- # are errors present?
95
- #
96
- # @return [Boolean] returns True / False
97
- #
98
- def errors_present?
99
- @internal_id ||
100
- @error ||
101
- @error_message ||
102
- @error_data ||
103
- @exception
104
- end
105
-
106
- # Exception message
107
- #
108
- # Returns:
109
- # exception_message: (String)
110
- #
111
- def exception_message
112
- @e_m ||= @exception.nil? ? '' : @exception.message
113
- end
114
-
115
- # Exception backtrace
116
- #
117
- # Returns:
118
- # exception_backtrace: (String)
119
- #
120
- def exception_backtrace
121
- @e_b ||= @exception.nil? ? '' : @exception.backtrace
122
- end
123
-
124
- # Get instance variables Hash style from object
125
- #
126
- def [](key)
127
- instance_variable_get("@#{key}")
128
- end
129
-
130
- # Error
131
- #
132
- # Returns:
133
- # obj: (OSTSdk::Util::Result)
134
- #
135
- def self.error(params)
136
- new(params)
137
- end
138
-
139
- # Success
140
- #
141
- # Returns:
142
- # obj: (OSTSdk::Util::Result)
143
- #
144
- def self.success(params)
145
- new(params.merge!(no_error))
146
- end
147
-
148
- # Exception
149
- #
150
- # Returns:
151
- # obj: (OSTSdk::Util::Result)
152
- #
153
- def self.exception(e, params = {})
154
- obj = new(params)
155
- obj.set_exception(e)
156
- return obj
157
- end
158
-
159
- # No Error
160
- #
161
- # Returns:
162
- # obj: (Hash)
163
- #
164
- def self.no_error
165
- @n_err ||= {
166
- error: nil,
167
- error_message: nil,
168
- error_data: nil,
169
- internal_id: nil
170
- }
171
- end
172
-
173
- # Fields
174
- #
175
- # Returns:
176
- # obj: (Array)
177
- #
178
- def self.fields
179
- error_fields + [:data, :message]
180
- end
181
-
182
- # Error Fields
183
- #
184
- # Returns:
185
- # obj: (Array)
186
- #
187
- def self.error_fields
188
- [
189
- :error,
190
- :error_message,
191
- :error_data,
192
- :internal_id
193
- ]
194
- end
195
-
196
- # Create an Hash out of all instance vars
197
- #
198
- # Returns:
199
- # obj: (Hash)
200
- #
201
- def to_hash
202
- self.class.fields.each_with_object({}) do |key, hash|
203
- val = send(key)
204
- hash[key] = val if !val.nil?
205
- end
206
- end
207
-
208
- # To JSON
209
- #
210
- # Returns:
211
- # obj: (Hash)
212
- #
213
- def to_json
214
-
215
- hash = self.to_hash
216
-
217
- if (hash[:error] == nil)
218
- h = {
219
- success: true
220
- }.merge(hash)
221
- h
222
- else
223
- {
224
- success: false,
225
- err: {
226
- internal_id: hash[:internal_id] || 'SDK',
227
- code: hash[:error],
228
- msg: hash[:error_message],
229
- error_data: hash[:error_data] || []
230
- }
231
- }
232
- end
233
-
234
- end
235
-
236
- end
237
-
238
- end
239
-
240
- end