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 +4 -4
- data/lib/ost-sdk-ruby/saas.rb +14 -2
- data/lib/ost-sdk-ruby/saas/base.rb +33 -7
- data/lib/ost-sdk-ruby/saas/services.rb +61 -0
- data/lib/ost-sdk-ruby/saas/v0/services.rb +32 -0
- data/lib/ost-sdk-ruby/saas/v0/transaction_kind.rb +85 -0
- data/lib/ost-sdk-ruby/saas/v0/users.rb +73 -0
- data/lib/ost-sdk-ruby/saas/v1/actions.rb +64 -0
- data/lib/ost-sdk-ruby/saas/v1/airdrops.rb +55 -0
- data/lib/ost-sdk-ruby/saas/v1/services.rb +36 -0
- data/lib/ost-sdk-ruby/saas/v1/token.rb +37 -0
- data/lib/ost-sdk-ruby/saas/v1/transactions.rb +55 -0
- data/lib/ost-sdk-ruby/saas/v1/transfers.rb +55 -0
- data/lib/ost-sdk-ruby/saas/v1/users.rb +64 -0
- data/lib/ost-sdk-ruby/util/http_helper.rb +52 -31
- data/lib/ost-sdk-ruby/util/result.rb +14 -21
- data/lib/ost-sdk-ruby/version.rb +1 -1
- metadata +24 -29
- data/lib/ost-sdk-ruby/saas/transaction_kind.rb +0 -80
- data/lib/ost-sdk-ruby/saas/users.rb +0 -68
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37b299f37cede9c1bb2c6984776c229a70c851ba
|
4
|
+
data.tar.gz: c771103e4486c422eebb60fe133719e30670ec52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88eaccf31be98d81812e8dff3775b01f62c91d6f87eeb0a1f7e923bc7f52a4d5f14f2768c800fc6dd332797234ac3c854592649104b5c4589eca0933fcfa67cc
|
7
|
+
data.tar.gz: de3d8f1222a68f5cf38aaa5419fd552348b8eadb843844c5b032fef0f6da3ce64d0262f8fbf85d3786fb88f6d7ae5fcee29a19bbfdc67cbeb5c35ef7bb151e1f
|
data/lib/ost-sdk-ruby/saas.rb
CHANGED
@@ -1,6 +1,18 @@
|
|
1
|
+
require_relative 'saas/services'
|
2
|
+
|
1
3
|
require_relative 'saas/base'
|
2
|
-
|
3
|
-
require_relative 'saas/
|
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
|
-
#
|
15
|
-
#
|
14
|
+
# api_base_url: (String)
|
15
|
+
# api_key: (String)
|
16
|
+
# api_secret: (String)
|
16
17
|
# api_spec: (Boolean)
|
17
18
|
#
|
18
|
-
def initialize(
|
19
|
+
def initialize(params)
|
19
20
|
|
20
|
-
fail 'missing
|
21
|
-
fail 'missing
|
22
|
-
|
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
|
-
|
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
|
-
#
|
18
|
-
#
|
17
|
+
# api_base_url: (String)
|
18
|
+
# api_key: (String)
|
19
|
+
# api_secret: (String)
|
19
20
|
# api_spec: (Boolean)
|
20
21
|
#
|
21
|
-
def initialize(
|
22
|
-
|
23
|
-
@api_key =
|
24
|
-
@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
|
-
|
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
|
191
|
-
json_raw_response = JSON.parse(
|
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(
|
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
|
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:
|
210
|
-
|
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
|
-
:
|
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
|
-
@
|
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
|
-
|
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
|
-
@
|
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
|
-
|
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
|
-
:
|
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
|
-
|
234
|
-
|
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
|
|
data/lib/ost-sdk-ruby/version.rb
CHANGED
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.
|
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-
|
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/
|
67
|
-
- lib/ost-sdk-ruby/saas/
|
68
|
-
- lib/ost-sdk-ruby/
|
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.
|
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
|