ost-sdk-ruby 0.9.3 → 1.0.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 56ac3b42fce3d12de17dd090d5d869553e45efeb
4
- data.tar.gz: 8949bd5495b4035512477e6d28c23b3507f7773e
3
+ metadata.gz: 37b299f37cede9c1bb2c6984776c229a70c851ba
4
+ data.tar.gz: c771103e4486c422eebb60fe133719e30670ec52
5
5
  SHA512:
6
- metadata.gz: 2511359dd399063c4aac6f0ffef7ec577ae2b86b3d6ce0adb1fd5dec8b223e0df5547b6aa55da982e5126db32646e518a7c218247a34723d2f99fd6fc5809b01
7
- data.tar.gz: 8792a58088f50b6edf8ae53ec6bbf2aaecdf8deec28444804f7fb688c223303f9f7f295541105fd656d6918c783b27c2e13ef1f7d784d0efae5c142787c6fbc7
6
+ metadata.gz: 88eaccf31be98d81812e8dff3775b01f62c91d6f87eeb0a1f7e923bc7f52a4d5f14f2768c800fc6dd332797234ac3c854592649104b5c4589eca0933fcfa67cc
7
+ data.tar.gz: de3d8f1222a68f5cf38aaa5419fd552348b8eadb843844c5b032fef0f6da3ce64d0262f8fbf85d3786fb88f6d7ae5fcee29a19bbfdc67cbeb5c35ef7bb151e1f
@@ -1,6 +1,18 @@
1
+ require_relative 'saas/services'
2
+
1
3
  require_relative 'saas/base'
2
- require_relative 'saas/transaction_kind'
3
- require_relative 'saas/users'
4
+
5
+ require_relative 'saas/v0/services'
6
+ require_relative 'saas/v0/transaction_kind'
7
+ require_relative 'saas/v0/users'
8
+
9
+ require_relative 'saas/v1/services'
10
+ require_relative 'saas/v1/users'
11
+ require_relative 'saas/v1/token'
12
+ require_relative 'saas/v1/actions'
13
+ require_relative 'saas/v1/airdrops'
14
+ require_relative 'saas/v1/transfers'
15
+ require_relative 'saas/v1/transactions'
4
16
 
5
17
  module OSTSdk
6
18
 
@@ -11,18 +11,44 @@ module OSTSdk
11
11
  # Initialize
12
12
  #
13
13
  # Arguments:
14
- # environment: (String)
15
- # credentials: (OSTSdk::Util::APICredentials)
14
+ # api_base_url: (String)
15
+ # api_key: (String)
16
+ # api_secret: (String)
16
17
  # api_spec: (Boolean)
17
18
  #
18
- def initialize(environment, credentials, api_spec)
19
+ def initialize(params)
19
20
 
20
- fail 'missing param environment' if environment.nil?
21
- fail 'missing/invalid param credentials' if credentials.nil? ||
22
- credentials.class != OSTSdk::Util::APICredentials
21
+ fail 'missing API Base URL' if params[:api_base_url].nil?
22
+ fail 'missing API Key' if params[:api_key].nil?
23
+ fail 'missing API Secret' if params[:api_secret].nil?
23
24
 
24
- @http_helper = OSTSdk::Util::HTTPHelper.new(environment, credentials, api_spec)
25
+ params[:api_base_url].gsub!(/\/$/, '') # remove trailing slash
25
26
 
27
+ @http_helper = OSTSdk::Util::HTTPHelper.new(params)
28
+
29
+ end
30
+
31
+ private
32
+
33
+ # Get id key from params hash and delete it
34
+ #
35
+ # Arguments:
36
+ # params: (Hash)
37
+ #
38
+ # Returns:
39
+ # id: (Integer)
40
+ #
41
+ def get_id!(params)
42
+ if params.has_key?(:id)
43
+ id = params[:id]
44
+ params.delete(:id)
45
+ elsif params.has_key?('id')
46
+ id = params['id']
47
+ params.delete('id')
48
+ else
49
+ fail "id missing in request params"
50
+ end
51
+ id
26
52
  end
27
53
 
28
54
  end
@@ -0,0 +1,61 @@
1
+ module OSTSdk
2
+
3
+ module Saas
4
+
5
+ class Services
6
+
7
+ attr_reader :services
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
+
19
+ fail 'missing API Base URL' if params[:api_base_url].nil?
20
+ fail 'missing API Key' if params[:api_key].nil?
21
+ fail 'missing API Secret' if params[:api_secret].nil?
22
+
23
+ params[:api_base_url].gsub!(/\/$/, '') # remove trailing slash
24
+ params[:api_spec] = false if params[:api_spec].nil?
25
+
26
+ set_manifest(params)
27
+
28
+ end
29
+
30
+ private
31
+
32
+ def set_manifest(params)
33
+
34
+ api_version = extract_api_version(params[:api_base_url])
35
+
36
+ # Provide access to version specific API endpoints
37
+ if api_version == ''
38
+ # puts("You are using an deprecated version of OST API. Please update to the latest version.")
39
+ @services = OSTSdk::Saas::V0::Services.new(params)
40
+ elsif api_version == 'v1'
41
+ @services = OSTSdk::Saas::V1::Services.new(params)
42
+ else
43
+ fail 'Api endpoint is invalid'
44
+ end
45
+
46
+ end
47
+
48
+ def extract_api_version(api_base_url)
49
+
50
+ api_version = ((api_base_url || '').split("/")[3] || '').downcase
51
+ api_major_version = (api_version.split('.')[0] || '')
52
+
53
+ return api_major_version
54
+
55
+ end
56
+
57
+ end
58
+
59
+ end
60
+
61
+ end
@@ -0,0 +1,32 @@
1
+ module OSTSdk
2
+
3
+ module Saas
4
+
5
+ module V0
6
+
7
+ class Services
8
+
9
+ attr_reader :transaction_kind, :users
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
+ @transaction_kind = OSTSdk::Saas::V0::TransactionKind.new(params)
22
+ @users = OSTSdk::Saas::V0::Users.new(params)
23
+
24
+ end
25
+
26
+ end
27
+
28
+ end
29
+
30
+ end
31
+
32
+ end
@@ -0,0 +1,85 @@
1
+ module OSTSdk
2
+
3
+ module Saas
4
+
5
+ module V0
6
+
7
+ class TransactionKind < 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 = '/transaction-types'
20
+ end
21
+
22
+ # Fetches the list of all transaction types
23
+ #
24
+ # Returns:
25
+ # response: (OSTSdk::Util::Result)
26
+ #
27
+ def list(params = {})
28
+ http_helper.send_get_request("#{@url_prefix}/list", params)
29
+ end
30
+
31
+ # Creates a new transaction type
32
+ #
33
+ # Arguments:
34
+ # params: (Hash)
35
+ #
36
+ # Returns:
37
+ # response: (OSTSdk::Util::Result)
38
+ #
39
+ def create(params)
40
+ http_helper.send_post_request("#{@url_prefix}/create", params)
41
+ end
42
+
43
+ # Updates an existing transaction type
44
+ #
45
+ # Arguments:
46
+ # params: (Hash)
47
+ #
48
+ # Returns:
49
+ # response: (OSTSdk::Util::Result)
50
+ #
51
+ def edit(params)
52
+ http_helper.send_post_request("#{@url_prefix}/edit", params)
53
+ end
54
+
55
+ # Execute transfer BT by tx kind
56
+ #
57
+ # Arguments:
58
+ # params: (Hash)
59
+ #
60
+ # Returns:
61
+ # response: (OSTSdk::Util::Result)
62
+ #
63
+ def execute(params)
64
+ http_helper.send_post_request("#{@url_prefix}/execute", params)
65
+ end
66
+
67
+ # Get details of a transaction(s)
68
+ #
69
+ # Arguments:
70
+ # params: (Hash)
71
+ #
72
+ # Returns:
73
+ # response: (OSTSdk::Util::Result)
74
+ #
75
+ def status(params)
76
+ http_helper.send_post_request("#{@url_prefix}/status", params)
77
+ end
78
+
79
+ end
80
+
81
+ end
82
+
83
+ end
84
+
85
+ end
@@ -0,0 +1,73 @@
1
+ module OSTSdk
2
+
3
+ module Saas
4
+
5
+ module V0
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}/create", 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}/edit", params)
38
+ end
39
+
40
+ # Fetches the list of all users
41
+ #
42
+ # Returns:
43
+ # response: (OSTSdk::Util::Result)
44
+ #
45
+ def list(params = {})
46
+ http_helper.send_get_request("#{@url_prefix}/list", params)
47
+ end
48
+
49
+ # Airdrop Branded Token to list of users
50
+ #
51
+ # Returns:
52
+ # response: (OSTSdk::Util::Result)
53
+ #
54
+ def airdrop_tokens(params = {})
55
+ http_helper.send_post_request("#{@url_prefix}/airdrop/drop", params)
56
+ end
57
+
58
+ # Get status of an Airdrop request for users.
59
+ #
60
+ # Returns:
61
+ # response: (OSTSdk::Util::Result)
62
+ #
63
+ def get_airdrop_status(params = {})
64
+ http_helper.send_get_request("#{@url_prefix}/airdrop/status", params)
65
+ end
66
+
67
+ end
68
+
69
+ end
70
+
71
+ end
72
+
73
+ end
@@ -0,0 +1,64 @@
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
@@ -0,0 +1,55 @@
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
@@ -0,0 +1,36 @@
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
@@ -0,0 +1,37 @@
1
+ module OSTSdk
2
+
3
+ module Saas
4
+
5
+ module V1
6
+
7
+ class Token < 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 = '/token'
20
+ end
21
+
22
+ # fetch details of a token
23
+ #
24
+ # Returns:
25
+ # response: (OSTSdk::Util::Result)
26
+ #
27
+ def get(params = {})
28
+ http_helper.send_get_request("#{@url_prefix}/", params)
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+
35
+ end
36
+
37
+ end
@@ -0,0 +1,55 @@
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
@@ -0,0 +1,55 @@
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
@@ -0,0 +1,64 @@
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
@@ -14,15 +14,16 @@ module OSTSdk
14
14
  # Initialize
15
15
  #
16
16
  # Arguments:
17
- # environment: (String)
18
- # credentials: (OSTSdk::Util::APICredentials)
17
+ # api_base_url: (String)
18
+ # api_key: (String)
19
+ # api_secret: (String)
19
20
  # api_spec: (Boolean)
20
21
  #
21
- def initialize(environment, credentials, api_spec)
22
- set_api_base_url(environment)
23
- @api_key = credentials.api_key
24
- @api_secret = credentials.api_secret
25
- @api_spec = api_spec
22
+ def initialize(params)
23
+ @api_base_url = params[:api_base_url]
24
+ @api_key = params[:api_key]
25
+ @api_secret = params[:api_secret]
26
+ @api_spec = params[:api_spec]
26
27
  end
27
28
 
28
29
  # Send POST requests
@@ -82,22 +83,6 @@ module OSTSdk
82
83
 
83
84
  private
84
85
 
85
- def set_api_base_url(env)
86
- ost_sdk_saas_api_endpoint = ENV['CA_SAAS_API_ENDPOINT']
87
- if !ost_sdk_saas_api_endpoint.nil?
88
- @api_base_url = ost_sdk_saas_api_endpoint
89
- else
90
- case env
91
- when 'sandbox'
92
- @api_base_url = 'https://playgroundapi.ost.com'
93
- when 'main'
94
- @api_base_url = 'https://api.ost.com'
95
- else
96
- fail "unrecognized ENV #{env}"
97
- end
98
- end
99
- end
100
-
101
86
  def setup_request(uri)
102
87
  http = Net::HTTP.new(uri.host, uri.port)
103
88
  http.read_timeout = 5
@@ -184,30 +169,66 @@ module OSTSdk
184
169
  end
185
170
 
186
171
  def format_response(response)
187
- response.code == '200' ? format_success_response(response.body) : format_failure_response(response.code)
172
+ json_raw_response = JSON.parse(response.body)
173
+ # If internal response
174
+ if json_raw_response.has_key?('success') || json_raw_response.has_key?('err')
175
+ format_internal_response(response)
176
+ else
177
+ format_external_response(response.code)
178
+ end
188
179
  end
189
180
 
190
- def format_success_response(raw_response)
191
- json_raw_response = JSON.parse(raw_response)
181
+ def format_internal_response(response)
182
+ json_raw_response = JSON.parse(response.body)
192
183
  if json_raw_response['success']
193
- OSTSdk::Util::Result.success({data: json_raw_response['data']})
184
+ OSTSdk::Util::Result.success(
185
+ {
186
+ data: json_raw_response['data'],
187
+ http_code: response.code
188
+ }
189
+ )
194
190
  else
195
191
  err_data = json_raw_response['err']
196
192
  OSTSdk::Util::Result.error(
197
193
  {
198
194
  error: err_data['code'],
195
+ internal_id: err_data['internal_id'],
199
196
  error_message: err_data['msg'],
200
- error_data: err_data['error_data']
197
+ error_data: err_data['error_data'],
198
+ http_code: response.code
201
199
  }
202
200
  )
203
201
  end
204
202
  end
205
203
 
206
- def format_failure_response(response_code)
204
+ def format_external_response(response_code)
205
+ case response_code.to_i
206
+ when 429
207
+ code = 'TOO_MANY_REQUESTS'
208
+ internal_id = 'SDK(TOO_MANY_REQUESTS)'
209
+ message = 'Too many requests have been received in a minute.'
210
+ when 502
211
+ code = 'BAD_GATEWAY'
212
+ internal_id = 'SDK(BAD_GATEWAY)'
213
+ message = 'Something went wrong.'
214
+ when 503
215
+ code = 'SERVICE_UNAVAILABLE'
216
+ internal_id = 'SDK(SERVICE_UNAVAILABLE)'
217
+ message = 'API under maintenance.'
218
+ when 504
219
+ code = 'GATEWAY_TIMEOUT'
220
+ internal_id = 'SDK(GATEWAY_TIMEOUT)'
221
+ message = 'Request timed out.'
222
+ else
223
+ code = 'SOMETHING_WENT_WRONG'
224
+ internal_id = 'SDK(SOMETHING_WENT_WRONG)'
225
+ message = 'Something went wrong.'
226
+ end
207
227
  OSTSdk::Util::Result.error(
208
228
  {
209
- error: response_code,
210
- error_message: 'Non 200 HTTP Status',
229
+ error: code,
230
+ internal_id: internal_id,
231
+ error_message: message,
211
232
  http_code: response_code
212
233
  }
213
234
  )
@@ -6,8 +6,7 @@ module OSTSdk
6
6
 
7
7
  attr_accessor :error,
8
8
  :error_message,
9
- :error_display_text,
10
- :error_display_heading,
9
+ :internal_id,
11
10
  :error_data,
12
11
  :message,
13
12
  :data,
@@ -33,8 +32,7 @@ module OSTSdk
33
32
  @error = params[:error] if params.key?(:error)
34
33
  @error_message = params[:error_message] if params.key?(:error_message)
35
34
  @error_data = params[:error_data] if params.key?(:error_data)
36
- @error_display_text = params[:error_display_text] if params.key?(:error_display_text)
37
- @error_display_heading = params[:error_display_heading] if params.key?(:error_display_heading)
35
+ @internal_id = params[:internal_id] if params.key?(:internal_id)
38
36
  end
39
37
 
40
38
  # Set Message
@@ -50,7 +48,11 @@ module OSTSdk
50
48
  # Arguments:
51
49
  # msg: (String)
52
50
  def set_http_code(h_c)
53
- @http_code = h_c || 200
51
+ if h_c.nil?
52
+ @http_code = 200
53
+ else
54
+ @http_code = h_c.to_i
55
+ end
54
56
  end
55
57
 
56
58
  # Set Exception
@@ -59,10 +61,6 @@ module OSTSdk
59
61
  # e: (Exception)
60
62
  def set_exception(e)
61
63
  @exception = e
62
- @error_data = {
63
- msg: e.message,
64
- trace: e.backtrace
65
- }
66
64
  end
67
65
 
68
66
  # is valid?
@@ -98,11 +96,10 @@ module OSTSdk
98
96
  # @return [Boolean] returns True / False
99
97
  #
100
98
  def errors_present?
101
- @error ||
99
+ @internal_id ||
100
+ @error ||
102
101
  @error_message ||
103
102
  @error_data ||
104
- @error_display_text ||
105
- @error_display_heading ||
106
103
  @exception
107
104
  end
108
105
 
@@ -169,8 +166,7 @@ module OSTSdk
169
166
  error: nil,
170
167
  error_message: nil,
171
168
  error_data: nil,
172
- error_display_text: nil,
173
- error_display_heading: nil
169
+ internal_id: nil
174
170
  }
175
171
  end
176
172
 
@@ -193,8 +189,7 @@ module OSTSdk
193
189
  :error,
194
190
  :error_message,
195
191
  :error_data,
196
- :error_display_text,
197
- :error_display_heading
192
+ :internal_id
198
193
  ]
199
194
  end
200
195
 
@@ -228,13 +223,11 @@ module OSTSdk
228
223
  {
229
224
  success: false,
230
225
  err: {
226
+ internal_id: hash[:internal_id] || 'SDK',
231
227
  code: hash[:error],
232
228
  msg: hash[:error_message],
233
- display_text: hash[:error_display_text].to_s,
234
- display_heading: hash[:error_display_heading].to_s,
235
- error_data: hash[:error_data] || {}
236
- },
237
- data: hash[:data]
229
+ error_data: hash[:error_data] || []
230
+ }
238
231
  }
239
232
  end
240
233
 
@@ -1,5 +1,5 @@
1
1
  module OSTSdk
2
2
 
3
- VERSION = "0.9.3"
3
+ VERSION = "1.0.0"
4
4
 
5
5
  end
metadata CHANGED
@@ -1,57 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ost-sdk-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OST
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-07 00:00:00.000000000 Z
11
+ date: 2018-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.6'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.6'
41
- - !ruby/object:Gem::Dependency
42
- name: rake
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 2.0.4
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 2.0.4
55
41
  description: OST Ruby SDK provides easy integration with https://api.ost.com, the
56
42
  API for OST KIT, built on top of the OpenST Platform
57
43
  email: []
@@ -59,19 +45,28 @@ executables: []
59
45
  extensions: []
60
46
  extra_rdoc_files: []
61
47
  files:
62
- - Rakefile
63
- - lib/ost-sdk-ruby.rb
64
- - lib/ost-sdk-ruby/saas.rb
65
48
  - lib/ost-sdk-ruby/saas/base.rb
66
- - lib/ost-sdk-ruby/saas/transaction_kind.rb
67
- - lib/ost-sdk-ruby/saas/users.rb
68
- - lib/ost-sdk-ruby/util.rb
49
+ - lib/ost-sdk-ruby/saas/services.rb
50
+ - lib/ost-sdk-ruby/saas/v0/services.rb
51
+ - lib/ost-sdk-ruby/saas/v0/transaction_kind.rb
52
+ - lib/ost-sdk-ruby/saas/v0/users.rb
53
+ - lib/ost-sdk-ruby/saas/v1/actions.rb
54
+ - lib/ost-sdk-ruby/saas/v1/airdrops.rb
55
+ - lib/ost-sdk-ruby/saas/v1/services.rb
56
+ - lib/ost-sdk-ruby/saas/v1/token.rb
57
+ - lib/ost-sdk-ruby/saas/v1/transactions.rb
58
+ - lib/ost-sdk-ruby/saas/v1/transfers.rb
59
+ - lib/ost-sdk-ruby/saas/v1/users.rb
60
+ - lib/ost-sdk-ruby/saas.rb
69
61
  - lib/ost-sdk-ruby/util/api_credentials.rb
70
62
  - lib/ost-sdk-ruby/util/common_validator.rb
71
63
  - lib/ost-sdk-ruby/util/http_helper.rb
72
64
  - lib/ost-sdk-ruby/util/result.rb
73
65
  - lib/ost-sdk-ruby/util/services_helper.rb
66
+ - lib/ost-sdk-ruby/util.rb
74
67
  - lib/ost-sdk-ruby/version.rb
68
+ - lib/ost-sdk-ruby.rb
69
+ - Rakefile
75
70
  homepage: https://kit.ost.com
76
71
  licenses:
77
72
  - MIT
@@ -83,17 +78,17 @@ require_paths:
83
78
  - lib
84
79
  required_ruby_version: !ruby/object:Gem::Requirement
85
80
  requirements:
86
- - - ">="
81
+ - - '>='
87
82
  - !ruby/object:Gem::Version
88
83
  version: '0'
89
84
  required_rubygems_version: !ruby/object:Gem::Requirement
90
85
  requirements:
91
- - - ">="
86
+ - - '>='
92
87
  - !ruby/object:Gem::Version
93
88
  version: '0'
94
89
  requirements: []
95
90
  rubyforge_project:
96
- rubygems_version: 2.6.12
91
+ rubygems_version: 2.0.14.1
97
92
  signing_key:
98
93
  specification_version: 4
99
94
  summary: OST Ruby SDK
@@ -1,80 +0,0 @@
1
- module OSTSdk
2
-
3
- module Saas
4
-
5
- class TransactionKind < OSTSdk::Saas::Base
6
-
7
- # Initialize
8
- #
9
- # Arguments:
10
- # environment: (String)
11
- # credentials: (OSTSdk::Util::APICredentials)
12
- # api_spec: (Boolean)
13
- #
14
- def initialize(environment, credentials, api_spec = false)
15
- super
16
- @url_prefix = '/transaction-types'
17
- end
18
-
19
- # Fetches the list of all transaction types
20
- #
21
- # Returns:
22
- # response: (OSTSdk::Util::Result)
23
- #
24
- def list(params = {})
25
- http_helper.send_get_request("#{@url_prefix}/list", params)
26
- end
27
-
28
- # Creates a new transaction type
29
- #
30
- # Arguments:
31
- # params: (Hash)
32
- #
33
- # Returns:
34
- # response: (OSTSdk::Util::Result)
35
- #
36
- def create(params)
37
- http_helper.send_post_request("#{@url_prefix}/create", params)
38
- end
39
-
40
- # Updates an existing transaction type
41
- #
42
- # Arguments:
43
- # params: (Hash)
44
- #
45
- # Returns:
46
- # response: (OSTSdk::Util::Result)
47
- #
48
- def edit(params)
49
- http_helper.send_post_request("#{@url_prefix}/edit", params)
50
- end
51
-
52
- # Execute transfer BT by tx kind
53
- #
54
- # Arguments:
55
- # params: (Hash)
56
- #
57
- # Returns:
58
- # response: (OSTSdk::Util::Result)
59
- #
60
- def execute(params)
61
- http_helper.send_post_request("#{@url_prefix}/execute", params)
62
- end
63
-
64
- # Get details of a transaction(s)
65
- #
66
- # Arguments:
67
- # params: (Hash)
68
- #
69
- # Returns:
70
- # response: (OSTSdk::Util::Result)
71
- #
72
- def status(params)
73
- http_helper.send_post_request("#{@url_prefix}/status", params)
74
- end
75
-
76
- end
77
-
78
- end
79
-
80
- end
@@ -1,68 +0,0 @@
1
- module OSTSdk
2
-
3
- module Saas
4
-
5
- class Users < OSTSdk::Saas::Base
6
-
7
- # Initialize
8
- #
9
- # Arguments:
10
- # environment: (String)
11
- # credentials: (OSTSdk::Util::APICredentials)
12
- # api_spec: (Boolean)
13
- #
14
- def initialize(environment, credentials, api_spec = false)
15
- super
16
- @url_prefix = '/users'
17
- end
18
-
19
- # Create a new user
20
- #
21
- # Returns:
22
- # response: (OSTSdk::Util::Result)
23
- #
24
- def create(params = {})
25
- http_helper.send_post_request("#{@url_prefix}/create", params)
26
- end
27
-
28
- # Edit an existing user
29
- #
30
- # Returns:
31
- # response: (OSTSdk::Util::Result)
32
- #
33
- def edit(params = {})
34
- http_helper.send_post_request("#{@url_prefix}/edit", params)
35
- end
36
-
37
- # Fetches the list of all users
38
- #
39
- # Returns:
40
- # response: (OSTSdk::Util::Result)
41
- #
42
- def list(params = {})
43
- http_helper.send_get_request("#{@url_prefix}/list", params)
44
- end
45
-
46
- # Airdrop Branded Token to list of users
47
- #
48
- # Returns:
49
- # response: (OSTSdk::Util::Result)
50
- #
51
- def airdrop_tokens(params = {})
52
- http_helper.send_post_request("#{@url_prefix}/airdrop/drop", params)
53
- end
54
-
55
- # Get status of an Airdrop request for users.
56
- #
57
- # Returns:
58
- # response: (OSTSdk::Util::Result)
59
- #
60
- def get_airdrop_status(params = {})
61
- http_helper.send_get_request("#{@url_prefix}/airdrop/status", params)
62
- end
63
-
64
- end
65
-
66
- end
67
-
68
- end