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
@@ -2,9 +2,7 @@ module OSTSdk
2
2
 
3
3
  module Saas
4
4
 
5
- module V1
6
-
7
- class Token < OSTSdk::Saas::Base
5
+ class Rules < OSTSdk::Saas::Base
8
6
 
9
7
  # Initialize
10
8
  #
@@ -13,18 +11,19 @@ module OSTSdk
13
11
  # api_key: (String)
14
12
  # api_secret: (String)
15
13
  # api_spec: (Boolean)
14
+ # config: (Hash)
16
15
  #
17
16
  def initialize(params)
18
17
  super
19
- @url_prefix = '/token'
18
+ @url_prefix = '/rules'
20
19
  end
21
20
 
22
- # fetch details of a token
21
+ # List Rules
23
22
  #
24
23
  # Returns:
25
- # response: (OSTSdk::Util::Result)
24
+ # response: (Hash)
26
25
  #
27
- def get(params = {})
26
+ def get_list(params = {})
28
27
  http_helper.send_get_request("#{@url_prefix}/", params)
29
28
  end
30
29
 
@@ -32,6 +31,4 @@ module OSTSdk
32
31
 
33
32
  end
34
33
 
35
- end
36
-
37
34
  end
@@ -30,29 +30,15 @@ module OSTSdk
30
30
  private
31
31
 
32
32
  def set_manifest(params)
33
-
34
33
  api_version = extract_api_version(params[:api_base_url])
34
+ fail 'Api endpoint is invalid' if api_version != "v2"
35
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
- elsif api_version == 'v1.1'
43
- @services = OSTSdk::Saas::V1Dot1::Services.new(params)
44
- else
45
- fail 'Api endpoint is invalid'
46
- end
47
-
36
+ @services = OSTSdk::Saas::Manifest.new(params)
48
37
  end
49
38
 
50
39
  def extract_api_version(api_base_url)
51
-
52
- api_version = ((api_base_url || '').split("/")[3] || '').downcase
53
-
40
+ api_version = ((api_base_url || '').split("/")[4] || '').downcase
54
41
  return api_version
55
-
56
42
  end
57
43
 
58
44
  end
@@ -0,0 +1,44 @@
1
+ module OSTSdk
2
+
3
+ module Saas
4
+
5
+ class Sessions < OSTSdk::Saas::Base
6
+
7
+ # Initialize
8
+ #
9
+ # Arguments:
10
+ # api_base_url: (String)
11
+ # api_key: (String)
12
+ # api_secret: (String)
13
+ # api_spec: (Boolean)
14
+ # config: (Hash)
15
+ #
16
+ def initialize(params)
17
+ super
18
+ @url_prefix = '/users'
19
+ @url_suffix = '/sessions'
20
+ end
21
+
22
+ # Get session of a user
23
+ #
24
+ # Returns:
25
+ # response: (Hash)
26
+ #
27
+ def get(params = {})
28
+ http_helper.send_get_request("#{@url_prefix}/#{get_user_id!(params)}#{@url_suffix}/#{get_session_address!(params)}", params)
29
+ end
30
+
31
+ # List sessions of a user
32
+ #
33
+ # Returns:
34
+ # response: (Hash)
35
+ #
36
+ def get_list(params = {})
37
+ http_helper.send_get_request("#{@url_prefix}/#{get_user_id!(params)}#{@url_suffix}", params)
38
+ end
39
+
40
+ end
41
+
42
+ end
43
+
44
+ end
@@ -0,0 +1,35 @@
1
+ module OSTSdk
2
+
3
+ module Saas
4
+
5
+
6
+ class Tokens < OSTSdk::Saas::Base
7
+
8
+ # Initialize
9
+ #
10
+ # Arguments:
11
+ # api_base_url: (String)
12
+ # api_key: (String)
13
+ # api_secret: (String)
14
+ # api_spec: (Boolean)
15
+ # config: (Hash)
16
+ #
17
+ def initialize(params)
18
+ super
19
+ @url_prefix = '/tokens'
20
+ end
21
+
22
+ # Get token details
23
+ #
24
+ # Returns:
25
+ # response: (Hash)
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
@@ -0,0 +1,53 @@
1
+ module OSTSdk
2
+
3
+ module Saas
4
+
5
+ class Transactions < OSTSdk::Saas::Base
6
+
7
+ # Initialize
8
+ #
9
+ # Arguments:
10
+ # api_base_url: (String)
11
+ # api_key: (String)
12
+ # api_secret: (String)
13
+ # api_spec: (Boolean)
14
+ # config: (Hash)
15
+ #
16
+ def initialize(params)
17
+ super
18
+ @url_prefix = '/users'
19
+ @url_suffix = '/transactions'
20
+ end
21
+
22
+ # Execute company to user transaction
23
+ #
24
+ # Returns:
25
+ # response: (Hash)
26
+ #
27
+ def execute(params = {})
28
+ http_helper.send_post_request("#{@url_prefix}/#{get_user_id!(params)}#{@url_suffix}", params)
29
+ end
30
+
31
+ # Get transaction detail
32
+ #
33
+ # Returns:
34
+ # response: (Hash)
35
+ #
36
+ def get(params = {})
37
+ http_helper.send_get_request("#{@url_prefix}/#{get_user_id!(params)}#{@url_suffix}/#{get_transaction_id!(params)}", params)
38
+ end
39
+
40
+ # List transactions of a user
41
+ #
42
+ # Returns:
43
+ # response: (Hash)
44
+ #
45
+ def get_list(params = {})
46
+ http_helper.send_get_request("#{@url_prefix}/#{get_user_id!(params)}#{@url_suffix}", params)
47
+ end
48
+
49
+ end
50
+
51
+ end
52
+
53
+ end
@@ -0,0 +1,52 @@
1
+ module OSTSdk
2
+
3
+ module Saas
4
+
5
+ class Users < OSTSdk::Saas::Base
6
+
7
+ # Initialize
8
+ #
9
+ # Arguments:
10
+ # api_base_url: (String)
11
+ # api_key: (String)
12
+ # api_secret: (String)
13
+ # api_spec: (Boolean)
14
+ # config: (Hash)
15
+ #
16
+ def initialize(params)
17
+ super
18
+ @url_prefix = '/users'
19
+ end
20
+
21
+ # Create a User
22
+ #
23
+ # Returns:
24
+ # response: (Hash)
25
+ #
26
+ def create(params = {})
27
+ http_helper.send_post_request("#{@url_prefix}/", params)
28
+ end
29
+
30
+ # List Users
31
+ #
32
+ # Returns:
33
+ # response: (Hash)
34
+ #
35
+ def get_list(params = {})
36
+ http_helper.send_get_request("#{@url_prefix}/", params)
37
+ end
38
+
39
+ # Get user details
40
+ #
41
+ # Returns:
42
+ # response: (Hash)
43
+ #
44
+ def get(params = {})
45
+ http_helper.send_get_request("#{@url_prefix}/#{get_user_id!(params)}", params)
46
+ end
47
+
48
+ end
49
+
50
+ end
51
+
52
+ end
@@ -0,0 +1,18 @@
1
+ require_relative "../../../lib/ost-sdk-ruby/util"
2
+ require_relative "../../../lib/ost-sdk-ruby/saas"
3
+ require "test/unit"
4
+ require_relative "../../../lib/config"
5
+
6
+ class BalanceTest < Test::Unit::TestCase
7
+
8
+ def balance_service
9
+ @balance_service ||= Config::OST_SDK.services.balance
10
+ end
11
+
12
+ def test_balance_get
13
+ result = balance_service.get(user_id: Config::OST_KIT_USER_ID)
14
+ puts "result=>#{result}" unless result["success"]
15
+ assert_equal(result["success"], true )
16
+ end
17
+
18
+ end
@@ -0,0 +1,18 @@
1
+ require_relative "../../../lib/ost-sdk-ruby/util"
2
+ require_relative "../../../lib/ost-sdk-ruby/saas"
3
+ require "test/unit"
4
+ require_relative "../../../lib/config"
5
+
6
+ class ChainsTest < Test::Unit::TestCase
7
+
8
+ def chains_service
9
+ @chains_service ||= Config::OST_SDK.services.chains
10
+ end
11
+
12
+ def test_chains_get
13
+ result = chains_service.get(chain_id: Config::OST_KIT_AUX_CHAIN_ID)
14
+ puts "result=>#{result}" unless result["success"]
15
+ assert_equal(result["success"], true )
16
+ end
17
+
18
+ end
@@ -0,0 +1,18 @@
1
+ require_relative "../../../lib/ost-sdk-ruby/util"
2
+ require_relative "../../../lib/ost-sdk-ruby/saas"
3
+ require "test/unit"
4
+ require_relative "../../../lib/config"
5
+
6
+ class DeviceManagersTest < Test::Unit::TestCase
7
+
8
+ def device_managers_service
9
+ @device_managers_service ||= Config::OST_SDK.services.device_managers
10
+ end
11
+
12
+ def test_device_managers_get
13
+ result = device_managers_service.get(user_id: Config::OST_KIT_USER_ID)
14
+ puts "result=>#{result}" unless result["success"]
15
+ assert_equal(result["success"], true )
16
+ end
17
+
18
+ end
@@ -0,0 +1,41 @@
1
+ require_relative "../../../lib/ost-sdk-ruby/util"
2
+ require_relative "../../../lib/ost-sdk-ruby/saas"
3
+ require "test/unit"
4
+ require_relative "../../../lib/config"
5
+
6
+ class DevicesTest < Test::Unit::TestCase
7
+
8
+ def devices_service
9
+ @devices_service ||= Config::OST_SDK.services.devices
10
+ end
11
+
12
+ def test_devices_create
13
+ result = devices_service.create({
14
+ user_id: Config::OST_KIT_USER_ID,
15
+ address: "0x1ea365269a3e6c8fa492eca9a531bf#{Time.now.to_i}",
16
+ api_signer_address: '0x5F860598383868e8E8Ee0ffC5ADD92369Db37455',
17
+ device_uuid: '593a967f-87bd-49a6-976c-52edf46c4df4',
18
+ device_name: 'Iphone S'
19
+ })
20
+ puts "result=>#{result}" unless result["success"]
21
+ assert_equal(result["success"], true)
22
+ end
23
+
24
+ def test_devices_get
25
+ result = devices_service.get({
26
+ user_id: Config::OST_KIT_USER_ID,
27
+ device_address: Config::OST_KIT_USER_DEVICE_ADDRESS
28
+ })
29
+ puts "result=>#{result}" unless result["success"]
30
+ assert_equal(result["success"], true)
31
+ end
32
+
33
+ def test_devices_get_list
34
+ result = devices_service.get_list({
35
+ user_id: Config::OST_KIT_USER_ID
36
+ })
37
+ puts "result=>#{result}" unless result["success"]
38
+ assert_equal(result["success"], true)
39
+ end
40
+
41
+ end
@@ -0,0 +1,18 @@
1
+ require_relative "../../../lib/ost-sdk-ruby/util"
2
+ require_relative "../../../lib/ost-sdk-ruby/saas"
3
+ require "test/unit"
4
+ require_relative "../../../lib/config"
5
+
6
+ class PricePointsTest < Test::Unit::TestCase
7
+
8
+ def price_points_service
9
+ @price_points_service ||= Config::OST_SDK.services.price_points
10
+ end
11
+
12
+ def test_price_points_get
13
+ result = price_points_service.get(chain_id: Config::OST_KIT_AUX_CHAIN_ID)
14
+ puts "result=>#{result}" unless result["success"]
15
+ assert_equal(result["success"], true )
16
+ end
17
+
18
+ end
@@ -0,0 +1,21 @@
1
+ require_relative "../../../lib/ost-sdk-ruby/util"
2
+ require_relative "../../../lib/ost-sdk-ruby/saas"
3
+ require "test/unit"
4
+ require_relative "../../../lib/config"
5
+
6
+ class RecoveryOwnersTest < Test::Unit::TestCase
7
+
8
+ def recovery_owners_service
9
+ @recovery_owners_service ||= Config::OST_SDK.services.recovery_owners
10
+ end
11
+
12
+ def test_recovery_owners_get
13
+ result = recovery_owners_service.get({
14
+ user_id: Config::OST_KIT_USER_ID,
15
+ recovery_owner_address: Config::OST_KIT_RECOVERY_OWNER_ADDRESS
16
+ })
17
+ puts "result=>#{result}" unless result["success"]
18
+ assert_equal(result["success"], true )
19
+ end
20
+
21
+ end
@@ -0,0 +1,18 @@
1
+ require_relative "../../../lib/ost-sdk-ruby/util"
2
+ require_relative "../../../lib/ost-sdk-ruby/saas"
3
+ require "test/unit"
4
+ require_relative "../../../lib/config"
5
+
6
+ class RulesTest < Test::Unit::TestCase
7
+
8
+ def rules_service
9
+ @rules_service ||= Config::OST_SDK.services.rules
10
+ end
11
+
12
+ def test_rules_get_list
13
+ result = rules_service.get_list()
14
+ puts "result=>#{result}" unless result["success"]
15
+ assert_equal(result["success"], true )
16
+ end
17
+
18
+ end
@@ -0,0 +1,28 @@
1
+ require_relative "../../../lib/ost-sdk-ruby/util"
2
+ require_relative "../../../lib/ost-sdk-ruby/saas"
3
+ require "test/unit"
4
+ require_relative "../../../lib/config"
5
+
6
+ class SessionsTest < Test::Unit::TestCase
7
+
8
+ def sessions_service
9
+ @sessions_service ||= Config::OST_SDK.services.sessions
10
+ end
11
+
12
+ def test_sessions_get
13
+ result = sessions_service.get({
14
+ user_id: Config::OST_KIT_USER_ID,
15
+ session_address: Config::OST_KIT_SESSION_ADDRESS
16
+ })
17
+ puts "result=>#{result}" unless result["success"]
18
+ assert_equal(result["success"], true)
19
+ end
20
+
21
+ def test_sessions_get_list
22
+ result = sessions_service.get_list({
23
+ user_id: Config::OST_KIT_USER_ID
24
+ })
25
+ assert_equal(result["success"], true)
26
+ end
27
+
28
+ end