ost-sdk-ruby 0.0.6

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f464f45bf2828dc33b12c7b2b0082ff7b5f8f2b7
4
+ data.tar.gz: 749d9645db7f14080470aac04ba0c49b335376a8
5
+ SHA512:
6
+ metadata.gz: 1c8d34a8444024ec94b8cc2d9ce61d6025d6a6f61c57dcf00b0bb68fe6bb1cb5730bbaed66ec457f3488c02038b3c8b0dd0be13e6b8ee8dab18d5da547b118e5
7
+ data.tar.gz: d4ae0c67743b36f91cde79b3f822f167d6b8d5d0f725e36d568f1d9439495e9def5888a41ab3c00f34d7e6e594314a1d4540faa5fbc940353120a2744b9288c2
@@ -0,0 +1,8 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ require 'rake/rdoctask'
4
+
5
+ Rake::RDocTask.new do |rd|
6
+ rd.main = "README.rdoc"
7
+ rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
8
+ end
@@ -0,0 +1,8 @@
1
+
2
+ module OSTSdk
3
+
4
+ end
5
+
6
+ require "ost-sdk-ruby/version"
7
+ require "ost-sdk-ruby/util"
8
+ require "ost-sdk-ruby/saas"
@@ -0,0 +1,12 @@
1
+ require_relative 'saas/base'
2
+ require_relative 'saas/transaction_kind'
3
+ require_relative 'saas/addresses'
4
+ require_relative 'saas/users'
5
+
6
+ module OSTSdk
7
+
8
+ module Saas
9
+
10
+ end
11
+
12
+ end
@@ -0,0 +1,32 @@
1
+ module OSTSdk
2
+
3
+ module Saas
4
+
5
+ class Addresses < 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 = '/addresses'
17
+ end
18
+
19
+ # Fetches balances transaction types
20
+ #
21
+ # Returns:
22
+ # response: (OSTSdk::Util::Result)
23
+ #
24
+ def fetch_balances(params)
25
+ http_helper.send_get_request("#{@url_prefix}/fetch-utility-chain-balances", params)
26
+ end
27
+
28
+ end
29
+
30
+ end
31
+
32
+ end
@@ -0,0 +1,32 @@
1
+ module OSTSdk
2
+
3
+ module Saas
4
+
5
+ class Base
6
+
7
+ include OSTSdk::Util::ServicesHelper
8
+
9
+ attr_reader :http_helper
10
+
11
+ # Initialize
12
+ #
13
+ # Arguments:
14
+ # environment: (String)
15
+ # credentials: (OSTSdk::Util::APICredentials)
16
+ # api_spec: (Boolean)
17
+ #
18
+ def initialize(environment, credentials, api_spec)
19
+
20
+ fail 'missing param environment' if environment.nil?
21
+ fail 'missing/invalid param credentials' if credentials.nil? ||
22
+ credentials.class != OSTSdk::Util::APICredentials
23
+
24
+ @http_helper = OSTSdk::Util::HTTPHelper.new(environment, credentials, api_spec)
25
+
26
+ end
27
+
28
+ end
29
+
30
+ end
31
+
32
+ end
@@ -0,0 +1,56 @@
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/kind'
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}/get-all", 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}/new", 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
+ end
53
+
54
+ end
55
+
56
+ end
@@ -0,0 +1,68 @@
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_post_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-tokens", 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/get-status", params)
62
+ end
63
+
64
+ end
65
+
66
+ end
67
+
68
+ end
@@ -0,0 +1,13 @@
1
+ require_relative 'util/common_validator'
2
+ require_relative 'util/result'
3
+ require_relative 'util/api_credentials'
4
+ require_relative 'util/http_helper'
5
+ require_relative 'util/services_helper'
6
+
7
+ module OSTSdk
8
+
9
+ module Util
10
+
11
+ end
12
+
13
+ end
@@ -0,0 +1,32 @@
1
+ module OSTSdk
2
+
3
+ module Util
4
+
5
+ class APICredentials
6
+
7
+ # Initialize
8
+ #
9
+ # Arguments:
10
+ # api_key: (String)
11
+ # api_secret: (String)
12
+ #
13
+ def initialize(api_key, api_secret)
14
+ @api_key = api_key
15
+ @api_secret = api_secret
16
+ end
17
+
18
+ # Returns:
19
+ # api_key: (String)
20
+ #
21
+ attr_reader :api_key
22
+
23
+ # Returns:
24
+ # api_secret: (String)
25
+ #
26
+ attr_reader :api_secret
27
+
28
+ end
29
+
30
+ end
31
+
32
+ end
@@ -0,0 +1,50 @@
1
+ module OSTSdk
2
+
3
+ module Util
4
+
5
+ class CommonValidator
6
+
7
+ # Check for numeric-ness of an input
8
+ #
9
+ # Arguments:
10
+ # object: (Float)
11
+ #
12
+ # Returns:
13
+ # Boolean
14
+ #
15
+ def self.is_numeric?(object)
16
+ true if Float(object) rescue false
17
+ end
18
+
19
+ #
20
+ #
21
+ # Arguments:
22
+ # object: (Boolean)
23
+ #
24
+ # Returns:
25
+ # Boolean
26
+ #
27
+ def self.is_boolean?(object)
28
+ [
29
+ true,
30
+ false
31
+ ].include?(object)
32
+ end
33
+
34
+ # Is the given object Hash
35
+ #
36
+ # Arguments:
37
+ # object: (Hash)
38
+ #
39
+ # Returns:
40
+ # Boolean
41
+ #
42
+ def self.is_a_hash?(obj)
43
+ obj.is_a?(Hash) || obj.is_a?(ActionController::Parameters)
44
+ end
45
+
46
+ end
47
+
48
+ end
49
+
50
+ end
@@ -0,0 +1,187 @@
1
+ module OSTSdk
2
+
3
+ module Util
4
+
5
+ class HTTPHelper
6
+
7
+ require "uri"
8
+ require "open-uri"
9
+ require "openssl"
10
+ require "net/http"
11
+ require "json"
12
+
13
+ # Initialize
14
+ #
15
+ # Arguments:
16
+ # environment: (String)
17
+ # credentials: (OSTSdk::Util::APICredentials)
18
+ # api_spec: (Boolean)
19
+ #
20
+ def initialize(environment, credentials, api_spec)
21
+ set_api_base_url(environment)
22
+ @api_key = credentials.api_key
23
+ @api_secret = credentials.api_secret
24
+ @api_spec = api_spec
25
+ end
26
+
27
+ # Send POST requests
28
+ #
29
+ # Arguments:
30
+ # end_point: (String)
31
+ # request_params: (Hash)
32
+ #
33
+ # Returns:
34
+ # OSTSdk::Util::Result
35
+ #
36
+ def send_post_request(endpoint, request_params)
37
+ perform_and_handle_exceptions('u_hh_1', 'POST request failed') do
38
+ base_params = get_base_params(endpoint, request_params)
39
+ uri = post_api_uri(endpoint)
40
+ http = setup_request(uri)
41
+ r_params = base_params.merge(request_params)
42
+ if @api_spec
43
+ return OSTSdk::Util::Result.success({data: {request_uri: uri.to_s, request_type: 'POST', request_params: hash_to_query_string(r_params)}})
44
+ else
45
+ result = http.post(uri.path, hash_to_query_string(r_params))
46
+ return format_response(result)
47
+ end
48
+ end
49
+ end
50
+
51
+ # Send GET requests
52
+ #
53
+ # Arguments:
54
+ # end_point: (String)
55
+ # request_params: (Hash)
56
+ #
57
+ # Returns:
58
+ # OSTSdk::Util::Result
59
+ #
60
+ def send_get_request(endpoint, request_params)
61
+ perform_and_handle_exceptions('u_hh_2', 'GET request Failed') do
62
+ base_params = get_base_params(endpoint, request_params)
63
+ r_params = base_params.merge(request_params)
64
+ uri = URI(get_api_url(endpoint))
65
+ uri.query = URI.encode_www_form(r_params)
66
+ if @api_spec
67
+ return OSTSdk::Util::Result.success({data: {request_uri: uri.to_s.split("?")[0], request_type: 'GET', request_params: hash_to_query_string(r_params)}})
68
+ else
69
+ result = Net::HTTP.get_response(uri)
70
+ return format_response(result)
71
+ end
72
+ end
73
+ end
74
+
75
+ private
76
+
77
+ def set_api_base_url(env)
78
+ ost_sdk_saas_api_endpoint = ENV['CA_SAAS_API_ENDPOINT']
79
+ if ost_sdk_saas_api_endpoint.present?
80
+ @api_base_url = ost_sdk_saas_api_endpoint
81
+ else
82
+ case env
83
+ when 'sandbox'
84
+ @api_base_url = 'https://sandboxapi.ost.com'
85
+ when 'main'
86
+ @api_base_url = 'https://api.ost.com'
87
+ else
88
+ fail "unrecognized ENV #{env}"
89
+ end
90
+ end
91
+ end
92
+
93
+ def setup_request(uri)
94
+ http = Net::HTTP.new(uri.host, uri.port)
95
+ http.read_timeout = 5
96
+ http.open_timeout = 5
97
+ if uri.scheme == "https"
98
+ http.use_ssl = true
99
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
100
+ end
101
+ http
102
+ end
103
+
104
+ def get_base_params(endpoint, request_params)
105
+ request_timestamp = Time.now.to_i.to_s
106
+ str = endpoint + '::' + request_timestamp + '::' + format_request_params(request_params).to_json
107
+ signature = generate_signature(str)
108
+ {"request-timestamp" => request_timestamp, "signature" => signature, "api-key" => @api_key}
109
+ end
110
+
111
+ def generate_signature(string_to_sign)
112
+ digest = OpenSSL::Digest.new('sha256')
113
+ OpenSSL::HMAC.hexdigest(digest, @api_secret, string_to_sign)
114
+ end
115
+
116
+ def post_api_uri(endpoint)
117
+ URI(@api_base_url + endpoint)
118
+ end
119
+
120
+ def get_api_url(endpoint)
121
+ @api_base_url + endpoint
122
+ end
123
+
124
+ # Method which is called in service perform and handle exceptions
125
+ #
126
+ def perform_and_handle_exceptions(err_code = 'swt', err_message = 'Something Went Wrong', &block)
127
+ begin
128
+ yield if block_given?
129
+ rescue StandardError => se
130
+ OSTSdk::Util::Result.exception(se, {error: err_code, error_message: err_message})
131
+ end
132
+ end
133
+
134
+ def format_request_params(request_params)
135
+ sorted_array = request_params.sort {|a, b| a[0].downcase <=> b[0].downcase}
136
+ sorted_hash = {}
137
+ sorted_array.each do |element|
138
+ value = element[1]
139
+ value = value.to_s
140
+ sorted_hash[element[0].to_s] = value
141
+ end
142
+ sorted_hash
143
+ end
144
+
145
+ def hash_to_query_string(hash)
146
+ str_array = []
147
+ hash.each do |k, v|
148
+ str_array << "#{k}=#{v.to_s}"
149
+ end
150
+ str_array.join('&')
151
+ end
152
+
153
+ def format_response(response)
154
+ response.code == '200' ? format_success_response(response.body) : format_failure_response(response.code)
155
+ end
156
+
157
+ def format_success_response(raw_response)
158
+ json_raw_response = JSON.parse(raw_response)
159
+ if json_raw_response['success']
160
+ OSTSdk::Util::Result.success({data: json_raw_response['data']})
161
+ else
162
+ err_data = json_raw_response['err']
163
+ OSTSdk::Util::Result.error(
164
+ {
165
+ error: err_data['code'],
166
+ error_message: err_data['msg'],
167
+ error_data: err_data['error_data']
168
+ }
169
+ )
170
+ end
171
+ end
172
+
173
+ def format_failure_response(response_code)
174
+ OSTSdk::Util::Result.error(
175
+ {
176
+ error: response_code,
177
+ error_message: 'Non 200 HTTP Status',
178
+ http_code: response_code
179
+ }
180
+ )
181
+ end
182
+
183
+ end
184
+
185
+ end
186
+
187
+ end
@@ -0,0 +1,247 @@
1
+ module OSTSdk
2
+
3
+ module Util
4
+
5
+ class Result
6
+
7
+ attr_accessor :error,
8
+ :error_message,
9
+ :error_display_text,
10
+ :error_display_heading,
11
+ :error_data,
12
+ :message,
13
+ :data,
14
+ :exception,
15
+ :http_code
16
+
17
+ # Initialize
18
+ #
19
+ # Arguments:
20
+ # params: (Hash)
21
+ def initialize(params = {})
22
+ set_error(params)
23
+ set_message(params[:message])
24
+ set_http_code(params[:http_code])
25
+ @data = params[:data] || {}
26
+ end
27
+
28
+ # Set Error
29
+ #
30
+ # Arguments:
31
+ # params: (Hash)
32
+ def set_error(params)
33
+ @error = params[:error] if params.key?(:error)
34
+ @error_message = params[:error_message] if params.key?(:error_message)
35
+ @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)
38
+ end
39
+
40
+ # Set Message
41
+ #
42
+ # Arguments:
43
+ # msg: (String)
44
+ def set_message(msg)
45
+ @message = msg
46
+ end
47
+
48
+ # Set HTTP Code
49
+ #
50
+ # Arguments:
51
+ # msg: (String)
52
+ def set_http_code(h_c)
53
+ @http_code = h_c || 200
54
+ end
55
+
56
+ # Set Exception
57
+ #
58
+ # Arguments:
59
+ # e: (Exception)
60
+ def set_exception(e)
61
+ @exception = e
62
+ @error_data = {
63
+ msg: e.message,
64
+ trace: e.backtrace
65
+ }
66
+ end
67
+
68
+ # is valid?
69
+ #
70
+ # @return [Boolean] returns True / False
71
+ #
72
+ def valid?
73
+ !invalid?
74
+ end
75
+
76
+ # is invalid?
77
+ #
78
+ # @return [Boolean] returns True / False
79
+ #
80
+ def invalid?
81
+ errors_present?
82
+ end
83
+
84
+ # Define error / failed methods
85
+ #
86
+ [:error?, :errors?, :failed?].each do |name|
87
+ define_method(name) { invalid? }
88
+ end
89
+
90
+ # Define success method
91
+ #
92
+ [:success?].each do |name|
93
+ define_method(name) { valid? }
94
+ end
95
+
96
+ # are errors present?
97
+ #
98
+ # @return [Boolean] returns True / False
99
+ #
100
+ def errors_present?
101
+ @error ||
102
+ @error_message ||
103
+ @error_data ||
104
+ @error_display_text ||
105
+ @error_display_heading ||
106
+ @exception
107
+ end
108
+
109
+ # Exception message
110
+ #
111
+ # Returns:
112
+ # exception_message: (String)
113
+ #
114
+ def exception_message
115
+ @e_m ||= @exception.nil? ? '' : @exception.message
116
+ end
117
+
118
+ # Exception backtrace
119
+ #
120
+ # Returns:
121
+ # exception_backtrace: (String)
122
+ #
123
+ def exception_backtrace
124
+ @e_b ||= @exception.nil? ? '' : @exception.backtrace
125
+ end
126
+
127
+ # Get instance variables Hash style from object
128
+ #
129
+ def [](key)
130
+ instance_variable_get("@#{key}")
131
+ end
132
+
133
+ # Error
134
+ #
135
+ # Returns:
136
+ # obj: (OSTSdk::Util::Result)
137
+ #
138
+ def self.error(params)
139
+ new(params)
140
+ end
141
+
142
+ # Success
143
+ #
144
+ # Returns:
145
+ # obj: (OSTSdk::Util::Result)
146
+ #
147
+ def self.success(params)
148
+ new(params.merge!(no_error))
149
+ end
150
+
151
+ # Exception
152
+ #
153
+ # Returns:
154
+ # obj: (OSTSdk::Util::Result)
155
+ #
156
+ def self.exception(e, params = {})
157
+ obj = new(params)
158
+ obj.set_exception(e)
159
+ return obj
160
+ end
161
+
162
+ # No Error
163
+ #
164
+ # Returns:
165
+ # obj: (Hash)
166
+ #
167
+ def self.no_error
168
+ @n_err ||= {
169
+ error: nil,
170
+ error_message: nil,
171
+ error_data: nil,
172
+ error_display_text: nil,
173
+ error_display_heading: nil
174
+ }
175
+ end
176
+
177
+ # Fields
178
+ #
179
+ # Returns:
180
+ # obj: (Array)
181
+ #
182
+ def self.fields
183
+ error_fields + [:data, :message]
184
+ end
185
+
186
+ # Error Fields
187
+ #
188
+ # Returns:
189
+ # obj: (Array)
190
+ #
191
+ def self.error_fields
192
+ [
193
+ :error,
194
+ :error_message,
195
+ :error_data,
196
+ :error_display_text,
197
+ :error_display_heading
198
+ ]
199
+ end
200
+
201
+ # Create an Hash out of all instance vars
202
+ #
203
+ # Returns:
204
+ # obj: (Hash)
205
+ #
206
+ def to_hash
207
+ self.class.fields.each_with_object({}) do |key, hash|
208
+ val = send(key)
209
+ hash[key] = val if !val.nil?
210
+ end
211
+ end
212
+
213
+ # To JSON
214
+ #
215
+ # Returns:
216
+ # obj: (Hash)
217
+ #
218
+ def to_json
219
+
220
+ hash = self.to_hash
221
+
222
+ if (hash[:error] == nil)
223
+ h = {
224
+ success: true
225
+ }.merge(hash)
226
+ h
227
+ else
228
+ {
229
+ success: false,
230
+ err: {
231
+ code: hash[:error],
232
+ 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]
238
+ }
239
+ end
240
+
241
+ end
242
+
243
+ end
244
+
245
+ end
246
+
247
+ end
@@ -0,0 +1,120 @@
1
+ module OSTSdk
2
+
3
+ module Util
4
+
5
+ module ServicesHelper
6
+
7
+ # Wrapper Method which could be used to execute business logic
8
+ # Error handling code wraps execution of business logic
9
+ #
10
+ # Arguments:
11
+ # err_code: (String)
12
+ # err_message: (String)
13
+ # block: (Proc)
14
+ #
15
+ # Returns:
16
+ # OSTSdk::Util::Result
17
+ #
18
+ def perform_and_handle_exceptions(err_code = 'swt', err_message = 'Something Went Wrong', &block)
19
+ begin
20
+ yield if block_given?
21
+ rescue StandardError => se
22
+ OSTSdk::Util::Result.exception(se, {error: err_code, error_message: err_message, data: @params} )
23
+ end
24
+ end
25
+
26
+ # returns current time
27
+ #
28
+ # Returns:
29
+ # Time
30
+ #
31
+ def current_time
32
+ @c_time ||= Time.now
33
+ end
34
+
35
+ # returns current timestamp
36
+ #
37
+ # Returns:
38
+ # Integer
39
+ #
40
+ def current_timestamp
41
+ @c_tstamp ||= current_time.to_f
42
+ end
43
+
44
+ # Success
45
+ #
46
+ # Returns:
47
+ # OSTSdk::Util::Result
48
+ #
49
+ def success
50
+ success_with_data({})
51
+ end
52
+
53
+ # Success with data
54
+ #
55
+ # Arguments:
56
+ # data: (Hash)
57
+ #
58
+ # Returns:
59
+ # OSTSdk::Util::Result
60
+ #
61
+ def success_with_data(data)
62
+
63
+ # Allow only Hash data to pass ahead
64
+ data = {} unless Util::CommonValidator.is_a_hash?(data)
65
+
66
+ OSTSdk::Util::Result.success({data: data})
67
+
68
+ end
69
+
70
+ # Error with data
71
+ #
72
+ # Arguments:
73
+ # code: (String)
74
+ # msg: (String)
75
+ # data: (Hash)
76
+ #
77
+ # Returns:
78
+ # OSTSdk::Util::Result
79
+ #
80
+ def error_with_data(code, msg, data = {})
81
+
82
+ OSTSdk::Util::Result.error(
83
+ {
84
+ error: code,
85
+ error_message: msg,
86
+ data: data
87
+ }
88
+ )
89
+
90
+ end
91
+
92
+ #
93
+ # Exception with data and wthout action
94
+ #
95
+ # Arguments:
96
+ # e: (Exception)
97
+ # code: (String)
98
+ # msg: (String)
99
+ # data: (Hash optional)
100
+ #
101
+ # Returns:
102
+ # OSTSdk::Util::Result
103
+ #
104
+ def exception_with_data(e, code, msg, data = {})
105
+
106
+ OSTSdk::Util::Result.exception(
107
+ e, {
108
+ error: code,
109
+ error_message: msg,
110
+ data: data
111
+ }
112
+ )
113
+
114
+ end
115
+
116
+ end
117
+
118
+ end
119
+
120
+ end
@@ -0,0 +1,5 @@
1
+ module OSTSdk
2
+
3
+ VERSION = "0.0.6"
4
+
5
+ end
metadata ADDED
@@ -0,0 +1,86 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ost-sdk-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.6
5
+ platform: ruby
6
+ authors:
7
+ - OST Devs
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-03-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: OST Ruby SDK provides easy integration with https://api.ost.com built
42
+ on top of OpenST Platform
43
+ email: []
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - Rakefile
49
+ - lib/ost-sdk-ruby.rb
50
+ - lib/ost-sdk-ruby/saas.rb
51
+ - lib/ost-sdk-ruby/saas/addresses.rb
52
+ - lib/ost-sdk-ruby/saas/base.rb
53
+ - lib/ost-sdk-ruby/saas/transaction_kind.rb
54
+ - lib/ost-sdk-ruby/saas/users.rb
55
+ - lib/ost-sdk-ruby/util.rb
56
+ - lib/ost-sdk-ruby/util/api_credentials.rb
57
+ - lib/ost-sdk-ruby/util/common_validator.rb
58
+ - lib/ost-sdk-ruby/util/http_helper.rb
59
+ - lib/ost-sdk-ruby/util/result.rb
60
+ - lib/ost-sdk-ruby/util/services_helper.rb
61
+ - lib/ost-sdk-ruby/version.rb
62
+ homepage: http://ost.com
63
+ licenses:
64
+ - MIT
65
+ metadata: {}
66
+ post_install_message:
67
+ rdoc_options: []
68
+ require_paths:
69
+ - lib
70
+ required_ruby_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ requirements: []
81
+ rubyforge_project:
82
+ rubygems_version: 2.2.2
83
+ signing_key:
84
+ specification_version: 4
85
+ summary: OST Ruby SDK
86
+ test_files: []