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.
- checksums.yaml +4 -4
- data/lib/config.rb +18 -0
- data/lib/ost-sdk-ruby/saas.rb +12 -17
- data/lib/ost-sdk-ruby/saas/balance.rb +35 -0
- data/lib/ost-sdk-ruby/saas/base.rb +94 -12
- data/lib/ost-sdk-ruby/saas/{v1.1/ledger.rb → chains.rb} +6 -9
- data/lib/ost-sdk-ruby/saas/{v1.1/balances.rb → device_managers.rb} +7 -9
- data/lib/ost-sdk-ruby/saas/devices.rb +55 -0
- data/lib/ost-sdk-ruby/saas/manifest.rb +40 -0
- data/lib/ost-sdk-ruby/saas/price_points.rb +35 -0
- data/lib/ost-sdk-ruby/saas/recovery_owners.rb +35 -0
- data/lib/ost-sdk-ruby/saas/{v1/token.rb → rules.rb} +6 -9
- data/lib/ost-sdk-ruby/saas/services.rb +3 -17
- data/lib/ost-sdk-ruby/saas/sessions.rb +44 -0
- data/lib/ost-sdk-ruby/saas/tokens.rb +35 -0
- data/lib/ost-sdk-ruby/saas/transactions.rb +53 -0
- data/lib/ost-sdk-ruby/saas/users.rb +52 -0
- data/lib/ost-sdk-ruby/test/balance_test.rb +18 -0
- data/lib/ost-sdk-ruby/test/chains_test.rb +18 -0
- data/lib/ost-sdk-ruby/test/device_managers_test.rb +18 -0
- data/lib/ost-sdk-ruby/test/devices_test.rb +41 -0
- data/lib/ost-sdk-ruby/test/price_points_test.rb +18 -0
- data/lib/ost-sdk-ruby/test/recovery_owners_test.rb +21 -0
- data/lib/ost-sdk-ruby/test/rules_test.rb +18 -0
- data/lib/ost-sdk-ruby/test/sessions_test.rb +28 -0
- data/lib/ost-sdk-ruby/test/signature_generation_test.rb +33 -0
- data/lib/ost-sdk-ruby/test/tokens_test.rb +18 -0
- data/lib/ost-sdk-ruby/test/transactions_test.rb +43 -0
- data/lib/ost-sdk-ruby/test/users_test.rb +32 -0
- data/lib/ost-sdk-ruby/util.rb +1 -1
- data/lib/ost-sdk-ruby/util/common_validator.rb +14 -0
- data/lib/ost-sdk-ruby/util/custom_error_response.rb +56 -0
- data/lib/ost-sdk-ruby/util/http_helper.rb +105 -97
- data/lib/ost-sdk-ruby/util/services_helper.rb +3 -75
- data/lib/ost-sdk-ruby/version.rb +1 -1
- metadata +42 -32
- data/Rakefile +0 -8
- data/lib/ost-sdk-ruby/saas/v0/services.rb +0 -32
- data/lib/ost-sdk-ruby/saas/v0/transaction_kind.rb +0 -85
- data/lib/ost-sdk-ruby/saas/v0/users.rb +0 -73
- data/lib/ost-sdk-ruby/saas/v1.1/services.rb +0 -41
- data/lib/ost-sdk-ruby/saas/v1/actions.rb +0 -64
- data/lib/ost-sdk-ruby/saas/v1/airdrops.rb +0 -55
- data/lib/ost-sdk-ruby/saas/v1/services.rb +0 -36
- data/lib/ost-sdk-ruby/saas/v1/transactions.rb +0 -55
- data/lib/ost-sdk-ruby/saas/v1/transfers.rb +0 -55
- data/lib/ost-sdk-ruby/saas/v1/users.rb +0 -64
- 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
|