big_door 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/Manifest.txt +72 -0
- data/README.rdoc +170 -0
- data/Rakefile +32 -0
- data/autotest/discover.rb +1 -0
- data/big_door.gemspec +56 -0
- data/bin/example.rb +93 -0
- data/features/resources/attribute.feature +41 -0
- data/features/resources/currency_type.feature +12 -0
- data/features/resources/end_user.feature +92 -0
- data/features/resources/named_award_collection.feature +42 -0
- data/features/resources/named_good_collection.feature +40 -0
- data/features/resources/named_level_collection.feature +44 -0
- data/features/resources/url.feature +41 -0
- data/features/step_definitions/resources_steps.rb +370 -0
- data/features/support/env.rb +9 -0
- data/lib/big_door/attribute.rb +21 -0
- data/lib/big_door/award.rb +24 -0
- data/lib/big_door/client.rb +281 -0
- data/lib/big_door/currency.rb +26 -0
- data/lib/big_door/currency_balance.rb +27 -0
- data/lib/big_door/currency_type.rb +29 -0
- data/lib/big_door/end_user.rb +32 -0
- data/lib/big_door/good.rb +32 -0
- data/lib/big_door/leaderboard.rb +41 -0
- data/lib/big_door/level.rb +25 -0
- data/lib/big_door/named_award.rb +24 -0
- data/lib/big_door/named_award_collection.rb +21 -0
- data/lib/big_door/named_good.rb +24 -0
- data/lib/big_door/named_good_collection.rb +22 -0
- data/lib/big_door/named_level.rb +26 -0
- data/lib/big_door/named_level_collection.rb +23 -0
- data/lib/big_door/named_transaction.rb +21 -0
- data/lib/big_door/named_transaction_group.rb +74 -0
- data/lib/big_door/profile.rb +28 -0
- data/lib/big_door/resource.rb +204 -0
- data/lib/big_door/resource_end_user.rb +84 -0
- data/lib/big_door/resource_with_association.rb +37 -0
- data/lib/big_door/resource_with_parent.rb +43 -0
- data/lib/big_door/url.rb +21 -0
- data/lib/big_door.rb +40 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/spec/big_door/attribute_spec.rb +18 -0
- data/spec/big_door/award_spec.rb +19 -0
- data/spec/big_door/client_spec.rb +163 -0
- data/spec/big_door/currency_balance_spec.rb +14 -0
- data/spec/big_door/currency_spec.rb +81 -0
- data/spec/big_door/currency_type_spec.rb +21 -0
- data/spec/big_door/end_user_spec.rb +23 -0
- data/spec/big_door/good_spec.rb +14 -0
- data/spec/big_door/leaderboard_spec.rb +15 -0
- data/spec/big_door/level_spec.rb +19 -0
- data/spec/big_door/named_award_collection_spec.rb +23 -0
- data/spec/big_door/named_award_spec.rb +23 -0
- data/spec/big_door/named_good_collection_spec.rb +23 -0
- data/spec/big_door/named_good_spec.rb +23 -0
- data/spec/big_door/named_level_collection_spec.rb +23 -0
- data/spec/big_door/named_level_spec.rb +24 -0
- data/spec/big_door/named_transaction_group_spec.rb +29 -0
- data/spec/big_door/named_transaction_spec.rb +23 -0
- data/spec/big_door/profile_spec.rb +19 -0
- data/spec/big_door/resource_end_user_spec.rb +22 -0
- data/spec/big_door/resource_spec.rb +22 -0
- data/spec/big_door/resource_with_association_spec.rb +23 -0
- data/spec/big_door/resource_with_parent_spec.rb +22 -0
- data/spec/big_door/url_spec.rb +23 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +17 -0
- data/tasks/cucumber.rake +5 -0
- data/tasks/rspec.rake +29 -0
- metadata +263 -0
@@ -0,0 +1,281 @@
|
|
1
|
+
require 'restclient'
|
2
|
+
require 'addressable/uri'
|
3
|
+
require 'json'
|
4
|
+
require 'digest/sha1'
|
5
|
+
require 'uuidtools'
|
6
|
+
|
7
|
+
module BigDoor
|
8
|
+
#
|
9
|
+
# This module provides interface to BigDoor public REST API
|
10
|
+
#
|
11
|
+
DEFAULT_APP_HOST = 'http://api.bigdoor.com'
|
12
|
+
|
13
|
+
class Client
|
14
|
+
##
|
15
|
+
# This class provides low-level interface to BigDoor public REST API
|
16
|
+
#
|
17
|
+
attr_accessor :app_key
|
18
|
+
attr_accessor :app_secret
|
19
|
+
attr_accessor :app_host
|
20
|
+
|
21
|
+
##
|
22
|
+
# Creates new BigDoor::Client object
|
23
|
+
#
|
24
|
+
# @param [String] app_secret
|
25
|
+
# The API secret supplied by BigDoor. (see API Keys http://publisher.bigdoor.com/)
|
26
|
+
#
|
27
|
+
# @param [String] app_key
|
28
|
+
# The API key supplied by BigDoor. (see API Keys http://publisher.bigdoor.com/)
|
29
|
+
#
|
30
|
+
# @param [String] app_host
|
31
|
+
# An alternative host to enable use with testing servers.
|
32
|
+
#
|
33
|
+
def initialize( app_secret, app_key, app_host = DEFAULT_APP_HOST )
|
34
|
+
@app_key = app_key
|
35
|
+
@app_secret = app_secret
|
36
|
+
@app_host = app_host
|
37
|
+
|
38
|
+
@base_url = "/api/publisher/#{@app_key}"
|
39
|
+
end
|
40
|
+
|
41
|
+
##
|
42
|
+
# Converts params hash to string
|
43
|
+
#
|
44
|
+
# @param params
|
45
|
+
# Hash representing request params, except +sig+ and +format+ fields
|
46
|
+
#
|
47
|
+
# @return [String] Request params concatanated
|
48
|
+
#
|
49
|
+
def flatten_params( params )
|
50
|
+
raise ArgumentError.new('params should be defined') unless params
|
51
|
+
result = ''
|
52
|
+
keys = params.keys.sort{|a,b| a.to_s <=> b.to_s}
|
53
|
+
keys.each do |key|
|
54
|
+
next if key == 'sig'
|
55
|
+
next if key == 'format'
|
56
|
+
result += "#{key}#{params[key]}"
|
57
|
+
end
|
58
|
+
$log.debug(sprintf "flatten_params = %s", result )
|
59
|
+
result
|
60
|
+
end
|
61
|
+
|
62
|
+
##
|
63
|
+
# Generate appropriate request signature given a url and optional
|
64
|
+
# params and payload.
|
65
|
+
#
|
66
|
+
# @param [String] url
|
67
|
+
# The full URL, including the base /api/publisher/[app_key]
|
68
|
+
#
|
69
|
+
# @param [Hash] params
|
70
|
+
# The parameters to be sent via the query string.
|
71
|
+
#
|
72
|
+
# @param [Hash] payload
|
73
|
+
# The parameters to be sent via the PUT or POST request body.
|
74
|
+
#
|
75
|
+
# @return [String] request signature to be sent as +sign+ query param
|
76
|
+
#
|
77
|
+
def generate_signature( url, params = nil, payload = nil )
|
78
|
+
signature = url
|
79
|
+
signature += flatten_params( params ) if params
|
80
|
+
signature += flatten_params( payload ) if payload
|
81
|
+
signature += @app_secret
|
82
|
+
|
83
|
+
$log.debug(sprintf "signature = %s", signature )
|
84
|
+
|
85
|
+
Digest::SHA256.hexdigest(signature)
|
86
|
+
end
|
87
|
+
|
88
|
+
##
|
89
|
+
# Generate random token for request
|
90
|
+
#
|
91
|
+
# @return [String] Random token to be sent as +token+
|
92
|
+
def generate_token
|
93
|
+
UUIDTools::UUID.random_create.hexdigest
|
94
|
+
end
|
95
|
+
|
96
|
+
##
|
97
|
+
# Add requered fields to params and payload
|
98
|
+
#
|
99
|
+
# @param [Symbol] method
|
100
|
+
# HTTP request method
|
101
|
+
#
|
102
|
+
# @param [Hash] params
|
103
|
+
# The parameters to be sent via the query string.
|
104
|
+
#
|
105
|
+
# @param [Hash] payload
|
106
|
+
# The parameters to be sent via the PUT or POST request body.
|
107
|
+
#
|
108
|
+
# @return [Hash, Hash] Updated params and payload
|
109
|
+
#
|
110
|
+
def add_required_params( method, params, payload )
|
111
|
+
raise ArgumentError.new('unkown method') unless [:get, :put, :post, :delete].include?(method)
|
112
|
+
|
113
|
+
params = {} unless params
|
114
|
+
payload = {} unless payload
|
115
|
+
|
116
|
+
is_postish = [:post, :put].include?(method)
|
117
|
+
|
118
|
+
if is_postish && payload.key?('time')
|
119
|
+
params['time'] = payload['time']
|
120
|
+
end
|
121
|
+
if params && !params.key?('time')
|
122
|
+
params['time'] = Time.now.to_i.to_s
|
123
|
+
end
|
124
|
+
if is_postish && !payload.key?('time')
|
125
|
+
payload['time'] = params['time']
|
126
|
+
end
|
127
|
+
|
128
|
+
if is_postish && !payload.key?('token')
|
129
|
+
payload['token'] = self.generate_token
|
130
|
+
end
|
131
|
+
|
132
|
+
if method == :delete && !params.key?('delete_token')
|
133
|
+
params['delete_token'] = self.generate_token
|
134
|
+
end
|
135
|
+
|
136
|
+
[params, payload]
|
137
|
+
end
|
138
|
+
|
139
|
+
##
|
140
|
+
# Sign request
|
141
|
+
#
|
142
|
+
# @param [Symbol] method
|
143
|
+
# HTTP request method
|
144
|
+
#
|
145
|
+
# @param [String] url
|
146
|
+
# HTTP request URL
|
147
|
+
#
|
148
|
+
# @param [Hash] params
|
149
|
+
# The parameters to be sent via the query string.
|
150
|
+
#
|
151
|
+
# @param [Hash] payload
|
152
|
+
# The parameters to be sent via the PUT or POST request body.
|
153
|
+
#
|
154
|
+
# @return [Hash, Hash] Updated params and payload
|
155
|
+
#
|
156
|
+
def sign_request( method, url, params, payload )
|
157
|
+
|
158
|
+
params, payload = add_required_params( method, params, payload )
|
159
|
+
|
160
|
+
params['sig'] = self.generate_signature( url, params, payload )
|
161
|
+
|
162
|
+
[params, payload]
|
163
|
+
end
|
164
|
+
|
165
|
+
##
|
166
|
+
# Makes GET HTTP request to API with optional params
|
167
|
+
#
|
168
|
+
# @param [String] url
|
169
|
+
# relative API end point (eg. currency_type/1 )
|
170
|
+
#
|
171
|
+
# @param [Hash] params
|
172
|
+
# The parameters to be sent via the query string.
|
173
|
+
#
|
174
|
+
# @return [Hash] Decoded JSON response
|
175
|
+
#
|
176
|
+
def get( url, params = nil)
|
177
|
+
do_request( :get, url, params)
|
178
|
+
end
|
179
|
+
|
180
|
+
##
|
181
|
+
# Makes POST HTTP request to API with optional params and
|
182
|
+
# www-form-urlencoded payload
|
183
|
+
#
|
184
|
+
# @param [String] url
|
185
|
+
# relative API end point (eg. currency_type )
|
186
|
+
#
|
187
|
+
# @param [Hash] params
|
188
|
+
# The parameters to be sent via the query string.
|
189
|
+
#
|
190
|
+
# @param [Hash] payload
|
191
|
+
# The parameters to be sent via the PUT or POST request body.
|
192
|
+
#
|
193
|
+
# @return [Hash] Decoded JSON response
|
194
|
+
#
|
195
|
+
def post( url, params, payload )
|
196
|
+
do_request( :post, url, params, payload)
|
197
|
+
end
|
198
|
+
|
199
|
+
##
|
200
|
+
# Makes PUT HTTP request to API with optional params and
|
201
|
+
# www-form-urlencoded payload
|
202
|
+
#
|
203
|
+
# @param [String] url
|
204
|
+
# relative API end point (eg. currency/12345 )
|
205
|
+
#
|
206
|
+
# @param [Hash] params
|
207
|
+
# The parameters to be sent via the query string.
|
208
|
+
#
|
209
|
+
# @param [Hash] payload
|
210
|
+
# The parameters to be sent via the PUT or POST request body.
|
211
|
+
#
|
212
|
+
# @return [Hash] Decoded JSON response
|
213
|
+
#
|
214
|
+
def put( url, params, payload )
|
215
|
+
do_request( :put, url, params, payload)
|
216
|
+
end
|
217
|
+
|
218
|
+
##
|
219
|
+
# Makes DELETE HTTP request to API with optional params
|
220
|
+
#
|
221
|
+
# @param [String] url
|
222
|
+
# relative API end point (eg. currency/12345 )
|
223
|
+
#
|
224
|
+
# @param [Hash] params
|
225
|
+
# The parameters to be sent via the query string.
|
226
|
+
#
|
227
|
+
# @return [String] should return empty string in case of success
|
228
|
+
#
|
229
|
+
def delete( url, params = nil)
|
230
|
+
do_request( :delete, url, params)
|
231
|
+
end
|
232
|
+
|
233
|
+
##
|
234
|
+
# Makes HTTP request to API with optional params and
|
235
|
+
# www-form-urlencoded payload
|
236
|
+
#
|
237
|
+
# @param [Symbol] method
|
238
|
+
# HTTP request method
|
239
|
+
#
|
240
|
+
# @param [String] url
|
241
|
+
# relative API end point (eg. currency/12345 )
|
242
|
+
#
|
243
|
+
# @param [Hash] params
|
244
|
+
# The parameters to be sent via the query string.
|
245
|
+
#
|
246
|
+
# @param [Hash] payload
|
247
|
+
# The parameters to be sent via the PUT or POST request body.
|
248
|
+
#
|
249
|
+
# @return [Hash] Decoded JSON response or empty/undefined string
|
250
|
+
#
|
251
|
+
def do_request( method, end_point, params = nil, payload = nil )
|
252
|
+
headers = {
|
253
|
+
'User-Agent' => "BigDoorKit-Ruby/#{VERSION}",
|
254
|
+
}
|
255
|
+
|
256
|
+
if [:post, :put].include?(method)
|
257
|
+
headers['Content-Type'] = 'application/x-www-form-urlencoded'
|
258
|
+
end
|
259
|
+
|
260
|
+
params, payload = sign_request( method, @base_url + '/' + end_point, params, payload )
|
261
|
+
|
262
|
+
url = Addressable::URI.parse( @app_host + @base_url + '/' + end_point )
|
263
|
+
$log.debug( sprintf 'url object = %s', url.inspect )
|
264
|
+
$log.debug( sprintf 'params = %s', params.inspect )
|
265
|
+
url.query_values = params
|
266
|
+
|
267
|
+
$log.debug( sprintf 'method url = %s %s', method, url )
|
268
|
+
$log.debug( sprintf 'payload = %s', payload.inspect )
|
269
|
+
|
270
|
+
response = RestClient::Request.execute(:method => method, :url => url.to_s, :payload => payload, :headers => headers, :raw_response => false)
|
271
|
+
if response && !response.empty?
|
272
|
+
$log.debug( sprintf 'undecoded_response = %s', response.inspect )
|
273
|
+
decoded_response = JSON.parse( response )
|
274
|
+
$log.debug( sprintf 'decoded_response = %s', decoded_response.inspect )
|
275
|
+
decoded_response[0]
|
276
|
+
end
|
277
|
+
rescue RestClient::Exception => ex
|
278
|
+
$log.debug(sprintf 'Error response body: %s', ex.http_body)
|
279
|
+
end
|
280
|
+
end
|
281
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides Currency Resource object
|
4
|
+
# corresponding to /currency BigDoor API end point
|
5
|
+
#
|
6
|
+
class Currency < Resource
|
7
|
+
##
|
8
|
+
# Initialize new Currency object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "Currency init with hash = #{hash.inspect}")
|
15
|
+
default_values = {
|
16
|
+
'currency_type_id' => 1,
|
17
|
+
'currency_type_title' => '',
|
18
|
+
'exchange_rate' => 1,
|
19
|
+
'relative_weight' => 1,
|
20
|
+
}
|
21
|
+
default_values.merge!( hash )
|
22
|
+
$log.debug( "Currency default_values = #{default_values.inspect}")
|
23
|
+
super( default_values )
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides CurrencyBalance Resource object
|
4
|
+
# corresponding to /end_user/{id}/currency_balance BigDoor API end point
|
5
|
+
#
|
6
|
+
class CurrencyBalance < ResourceEndUser
|
7
|
+
##
|
8
|
+
# Initialize new CurrencyBalance object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "CurrencyBalance init with hash = #{hash.inspect}")
|
15
|
+
default_values = {
|
16
|
+
'read_only' => 0,
|
17
|
+
'adjustment_amount' => 0,
|
18
|
+
'curr_balance' => 0,
|
19
|
+
'prev_balance' => 0,
|
20
|
+
'transaction_group_id' => nil,
|
21
|
+
}
|
22
|
+
default_values.merge!( hash )
|
23
|
+
$log.debug( "CurrencyBalance default_values = #{default_values.inspect}")
|
24
|
+
super( default_values )
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides CurrencyType Resource object
|
4
|
+
# corresponding to /currency_type BigDoor API end point
|
5
|
+
#
|
6
|
+
class CurrencyType < Resource
|
7
|
+
##
|
8
|
+
# Initialize new CurrencyType object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "CurrencyType init with hash = #{hash.inspect}")
|
15
|
+
default_values = {
|
16
|
+
'read_only' => 1,
|
17
|
+
'title' => '',
|
18
|
+
'description' => '',
|
19
|
+
'has_dollar_exchange_rate_integrity' => 0,
|
20
|
+
'can_be_cross_publisher' => 0,
|
21
|
+
'can_be_purchased' => 0,
|
22
|
+
'can_be_rewarded' => 0,
|
23
|
+
}
|
24
|
+
default_values.merge!( hash )
|
25
|
+
$log.debug( "CurrencyType default_values = #{default_values.inspect}")
|
26
|
+
super( default_values )
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides EndUser Resource object
|
4
|
+
# corresponding to /end_user BigDoor API end point
|
5
|
+
#
|
6
|
+
class EndUser < Resource
|
7
|
+
|
8
|
+
##
|
9
|
+
# Initialize new EndUser object with optional Hash
|
10
|
+
#
|
11
|
+
# @param [Hash] hash
|
12
|
+
# Optional fields to assign to object
|
13
|
+
#
|
14
|
+
def initialize( hash = {} )
|
15
|
+
$log.debug( "EndUser init with hash = #{hash.inspect}")
|
16
|
+
default_values = {
|
17
|
+
'end_user_login' => '',
|
18
|
+
}
|
19
|
+
default_values.merge!( hash )
|
20
|
+
$log.debug( "EndUser default_values = #{default_values.inspect}")
|
21
|
+
super( default_values )
|
22
|
+
end
|
23
|
+
|
24
|
+
##
|
25
|
+
# Overrides object resource id
|
26
|
+
#
|
27
|
+
# @return [String] resource id
|
28
|
+
def resource_id
|
29
|
+
self.end_user_login
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides Good Resource object
|
4
|
+
# corresponding to /end_user/{id}/good BigDoor API end point
|
5
|
+
#
|
6
|
+
class Good < ResourceEndUser
|
7
|
+
##
|
8
|
+
# Initialize new Good object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "Good init with hash = #{hash.inspect}")
|
15
|
+
default_values = {
|
16
|
+
'named_good_id' => nil,
|
17
|
+
}
|
18
|
+
default_values.merge!( hash )
|
19
|
+
$log.debug( "Good default_values = #{default_values.inspect}")
|
20
|
+
super( default_values )
|
21
|
+
end
|
22
|
+
|
23
|
+
##
|
24
|
+
# Override parent_id_attr from ResourceEndUser Class
|
25
|
+
#
|
26
|
+
# @return [String] Parent Id attribute
|
27
|
+
#
|
28
|
+
def parent_id_attr
|
29
|
+
'good_receiver'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides Leaderboard Resource object
|
4
|
+
# corresponding to /leaderboard BigDoor API end point
|
5
|
+
#
|
6
|
+
class Leaderboard < Resource
|
7
|
+
##
|
8
|
+
# Initialize new Leaderboard object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "Leaderboard init with hash = #{hash.inspect}")
|
15
|
+
default_values = { }
|
16
|
+
default_values.merge!( hash )
|
17
|
+
$log.debug( "Leaderboard default_values = #{default_values.inspect}")
|
18
|
+
super( default_values )
|
19
|
+
end
|
20
|
+
##
|
21
|
+
# Executes Leaderboard retrieval
|
22
|
+
#
|
23
|
+
# @param [Hash] params
|
24
|
+
# request params
|
25
|
+
#
|
26
|
+
# @param [BigDoor::Client] client
|
27
|
+
# Initialized BigDoor::Client object
|
28
|
+
#
|
29
|
+
# @return [Array] array of Hashes representing Leaderboard
|
30
|
+
#
|
31
|
+
def execute( params, client )
|
32
|
+
$log.debug('execute leaderboard');
|
33
|
+
|
34
|
+
uri = sprintf '%s/execute', end_point
|
35
|
+
|
36
|
+
$log.debug( sprintf 'execute uri = %s', uri )
|
37
|
+
result = client.get( uri , params )
|
38
|
+
$log.debug(sprintf 'result = %s', result.inspect );
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides Level Resource object
|
4
|
+
# corresponding to /end_user/{id}/level BigDoor API end point
|
5
|
+
#
|
6
|
+
class Level < ResourceEndUser
|
7
|
+
##
|
8
|
+
# Initialize new Level object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "Level init with hash = #{hash.inspect}")
|
15
|
+
default_values = {
|
16
|
+
'transaction_group_id' => 0,
|
17
|
+
'end_user_login' => nil,
|
18
|
+
'named_level_id' => nil,
|
19
|
+
}
|
20
|
+
default_values.merge!( hash )
|
21
|
+
$log.debug( "Level default_values = #{default_values.inspect}")
|
22
|
+
super( default_values )
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides NamedAward Resource object
|
4
|
+
# corresponding to /named_award BigDoor API end point
|
5
|
+
#
|
6
|
+
class NamedAward < ResourceWithParent
|
7
|
+
##
|
8
|
+
# Initialize new NamedAward object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "NamedAward init with hash = #{hash.inspect}")
|
15
|
+
default_values = {
|
16
|
+
'named_award_collection_id' => nil,
|
17
|
+
'relative_weight' => 0,
|
18
|
+
}
|
19
|
+
default_values.merge!( hash )
|
20
|
+
$log.debug( "NamedAward default_values = #{default_values.inspect}")
|
21
|
+
super( default_values )
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides NamedAwardCollection Resource object
|
4
|
+
# corresponding to /named_award_collection BigDoor API end point
|
5
|
+
#
|
6
|
+
class NamedAwardCollection < Resource
|
7
|
+
##
|
8
|
+
# Initialize new NamedAwardCollection object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "NamedAwardCollection init with hash = #{hash.inspect}")
|
15
|
+
default_values = { }
|
16
|
+
default_values.merge!( hash )
|
17
|
+
$log.debug( "NamedAwardCollection default_values = #{default_values.inspect}")
|
18
|
+
super( default_values )
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides NamedGood Resource object
|
4
|
+
# corresponding to /named_good BigDoor API end point
|
5
|
+
#
|
6
|
+
class NamedGood < ResourceWithParent
|
7
|
+
##
|
8
|
+
# Initialize new NamedGood object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "NamedGood init with hash = #{hash.inspect}")
|
15
|
+
default_values = {
|
16
|
+
'named_good_collection_id' => nil,
|
17
|
+
'relative_weight' => 0,
|
18
|
+
}
|
19
|
+
default_values.merge!( hash )
|
20
|
+
$log.debug( "NamedGood default_values = #{default_values.inspect}")
|
21
|
+
super( default_values )
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides NamedGoodCollection Resource object
|
4
|
+
# corresponding to /named_good_collection BigDoor API end point
|
5
|
+
#
|
6
|
+
class NamedGoodCollection < Resource
|
7
|
+
##
|
8
|
+
# Initialize new NamedGoodCollection object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "NamedGoodCollection init with hash = #{hash.inspect}")
|
15
|
+
default_values = {
|
16
|
+
}
|
17
|
+
default_values.merge!( hash )
|
18
|
+
$log.debug( "NamedGoodCollection default_values = #{default_values.inspect}")
|
19
|
+
super( default_values )
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides NamedLevel Resource object
|
4
|
+
# corresponding to /named_level BigDoor API end point
|
5
|
+
#
|
6
|
+
class NamedLevel < ResourceWithParent
|
7
|
+
##
|
8
|
+
# Initialize new NamedLevel object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "NamedLevel init with hash = #{hash.inspect}")
|
15
|
+
default_values = {
|
16
|
+
'named_level_collection_id' => nil,
|
17
|
+
'relative_weight' => 0,
|
18
|
+
'threshold' => 0,
|
19
|
+
}
|
20
|
+
default_values.merge!( hash )
|
21
|
+
$log.debug( "NamedLevel default_values = #{default_values.inspect}")
|
22
|
+
super( default_values )
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides NamedLevelCollection Resource object
|
4
|
+
# corresponding to /named_level_collection BigDoor API end point
|
5
|
+
#
|
6
|
+
class NamedLevelCollection < Resource
|
7
|
+
##
|
8
|
+
# Initialize new NamedLevelCollection object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "NamedLevelCollection init with hash = #{hash.inspect}")
|
15
|
+
default_values = {
|
16
|
+
'currency_id' => nil,
|
17
|
+
}
|
18
|
+
default_values.merge!( hash )
|
19
|
+
$log.debug( "NamedLevelCollection default_values = #{default_values.inspect}")
|
20
|
+
super( default_values )
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module BigDoor
|
2
|
+
#
|
3
|
+
# This module provides NamedTransaction Resource object
|
4
|
+
# corresponding to /named_transaction BigDoor API end point
|
5
|
+
#
|
6
|
+
class NamedTransaction < Resource
|
7
|
+
##
|
8
|
+
# Initialize new NamedTransaction object with optional Hash
|
9
|
+
#
|
10
|
+
# @param [Hash] hash
|
11
|
+
# Optional fields to assign to object
|
12
|
+
#
|
13
|
+
def initialize( hash = {} )
|
14
|
+
$log.debug( "NamedTransaction init with hash = #{hash.inspect}")
|
15
|
+
default_values = { }
|
16
|
+
default_values.merge!( hash )
|
17
|
+
$log.debug( "NamedTransaction default_values = #{default_values.inspect}")
|
18
|
+
super( default_values )
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|