diff --git a/CHANGELOG.md b/CHANGELOG.md index c8cf090..54fe1d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -[OST Ruby SDK v1.0.1](https://github.com/OpenSTFoundation/ost-sdk-ruby/tree/v1.0.1) June 20 2018 +[OST Ruby SDK v1.1.0](https://github.com/OpenSTFoundation/ost-sdk-ruby/tree/v1.1.0) July 2 2018 --- * Added user balances module to V1 API's diff --git a/lib/ost-sdk-ruby/saas.rb b/lib/ost-sdk-ruby/saas.rb index edde4f0..f051c4a 100644 --- a/lib/ost-sdk-ruby/saas.rb +++ b/lib/ost-sdk-ruby/saas.rb @@ -13,8 +13,10 @@ require_relative 'saas/v1/airdrops' require_relative 'saas/v1/transfers' require_relative 'saas/v1/transactions' -require_relative 'saas/v1/balances' -require_relative 'saas/v1/ledger' + +require_relative 'saas/v1.1/services' +require_relative 'saas/v1.1/balances' +require_relative 'saas/v1.1/ledger' module OSTSdk diff --git a/lib/ost-sdk-ruby/saas/base.rb b/lib/ost-sdk-ruby/saas/base.rb index 9485149..bc3020d 100644 --- a/lib/ost-sdk-ruby/saas/base.rb +++ b/lib/ost-sdk-ruby/saas/base.rb @@ -22,7 +22,7 @@ def initialize(params) fail 'missing API Key' if params[:api_key].nil? fail 'missing API Secret' if params[:api_secret].nil? - params[:api_base_url].gsub!(/\/$/, '') # remove trailing slash + params[:api_base_url] = sanitize_api_base_url(params[:api_base_url]) @http_helper = OSTSdk::Util::HTTPHelper.new(params) @@ -51,6 +51,22 @@ def get_id!(params) id end + # Sanitize API Base URL + # + # Arguments: + # params: (String) + # + # Returns: + # api_base_url: (String) + # + def sanitize_api_base_url(api_base_url) + + api_base_url = api_base_url.gsub(/\/$/, '') # remove trailing slash + + return api_base_url + + end + end end diff --git a/lib/ost-sdk-ruby/saas/services.rb b/lib/ost-sdk-ruby/saas/services.rb index 0711b50..195e85a 100644 --- a/lib/ost-sdk-ruby/saas/services.rb +++ b/lib/ost-sdk-ruby/saas/services.rb @@ -20,7 +20,7 @@ def initialize(params) fail 'missing API Key' if params[:api_key].nil? fail 'missing API Secret' if params[:api_secret].nil? - params[:api_base_url].gsub!(/\/$/, '') # remove trailing slash + params[:api_base_url] = params[:api_base_url].gsub(/\/$/, '') # remove trailing slash params[:api_spec] = false if params[:api_spec].nil? set_manifest(params) @@ -39,6 +39,8 @@ def set_manifest(params) @services = OSTSdk::Saas::V0::Services.new(params) elsif api_version == 'v1' @services = OSTSdk::Saas::V1::Services.new(params) + elsif api_version == 'v1.1' + @services = OSTSdk::Saas::V1Dot1::Services.new(params) else fail 'Api endpoint is invalid' end @@ -48,9 +50,8 @@ def set_manifest(params) def extract_api_version(api_base_url) api_version = ((api_base_url || '').split("/")[3] || '').downcase - api_major_version = (api_version.split('.')[0] || '') - return api_major_version + return api_version end diff --git a/lib/ost-sdk-ruby/saas/v1/balances.rb b/lib/ost-sdk-ruby/saas/v1.1/balances.rb similarity index 97% rename from lib/ost-sdk-ruby/saas/v1/balances.rb rename to lib/ost-sdk-ruby/saas/v1.1/balances.rb index 197d8ac..fe2b11d 100644 --- a/lib/ost-sdk-ruby/saas/v1/balances.rb +++ b/lib/ost-sdk-ruby/saas/v1.1/balances.rb @@ -2,7 +2,7 @@ module OSTSdk module Saas - module V1 + module V1Dot1 class Balances < OSTSdk::Saas::Base diff --git a/lib/ost-sdk-ruby/saas/v1/ledger.rb b/lib/ost-sdk-ruby/saas/v1.1/ledger.rb similarity index 97% rename from lib/ost-sdk-ruby/saas/v1/ledger.rb rename to lib/ost-sdk-ruby/saas/v1.1/ledger.rb index b40a3cb..02381d6 100644 --- a/lib/ost-sdk-ruby/saas/v1/ledger.rb +++ b/lib/ost-sdk-ruby/saas/v1.1/ledger.rb @@ -2,7 +2,7 @@ module OSTSdk module Saas - module V1 + module V1Dot1 class Ledger < OSTSdk::Saas::Base diff --git a/lib/ost-sdk-ruby/saas/v1.1/services.rb b/lib/ost-sdk-ruby/saas/v1.1/services.rb new file mode 100644 index 0000000..7324a05 --- /dev/null +++ b/lib/ost-sdk-ruby/saas/v1.1/services.rb @@ -0,0 +1,41 @@ +module OSTSdk + + module Saas + + module V1Dot1 + + class Services + + attr_reader :users, :token, :actions, :airdrops, :transactions, :transfers, :balances, :ledger + + # Initialize + # + # Arguments: + # api_base_url: (String) + # api_key: (String) + # api_secret: (String) + # api_spec: (Boolean) + # + def initialize(params) + + # Modules which were implemented with V1.0 + @users = OSTSdk::Saas::V1::Users.new(params) + @token = OSTSdk::Saas::V1::Token.new(params) + @actions = OSTSdk::Saas::V1::Actions.new(params) + @airdrops = OSTSdk::Saas::V1::Airdrops.new(params) + @transactions = OSTSdk::Saas::V1::Transactions.new(params) + @transfers = OSTSdk::Saas::V1::Transfers.new(params) + + # Modules which were implemented with V1.1 + @balances = OSTSdk::Saas::V1Dot1::Balances.new(params) + @ledger = OSTSdk::Saas::V1Dot1::Ledger.new(params) + + end + + end + + end + + end + +end diff --git a/lib/ost-sdk-ruby/saas/v1/services.rb b/lib/ost-sdk-ruby/saas/v1/services.rb index 112bb97..815c41a 100644 --- a/lib/ost-sdk-ruby/saas/v1/services.rb +++ b/lib/ost-sdk-ruby/saas/v1/services.rb @@ -6,7 +6,7 @@ module V1 class Services - attr_reader :users, :token, :actions, :airdrops, :transactions, :transfers, :balances, :ledger + attr_reader :users, :token, :actions, :airdrops, :transactions, :transfers # Initialize # @@ -24,8 +24,6 @@ def initialize(params) @airdrops = OSTSdk::Saas::V1::Airdrops.new(params) @transactions = OSTSdk::Saas::V1::Transactions.new(params) @transfers = OSTSdk::Saas::V1::Transfers.new(params) - @balances = OSTSdk::Saas::V1::Balances.new(params) - @ledger = OSTSdk::Saas::V1::Ledger.new(params) end