hongbao-service-api 0.0.7

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,2941 @@
1
+ #
2
+ # Autogenerated by Thrift Compiler (0.9.3-airbnb11)
3
+ #
4
+ # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
5
+ #
6
+ # Generated from service IDL version 'no version'
7
+ #
8
+
9
+ require 'thrift'
10
+ require 'sparsam'
11
+
12
+ require 'airbnb/service/hongbao/api/hongbao_data_0_forward_declare_types'
13
+
14
+ require 'airbnb/service/hongbao/api/hongbao_data_types'
15
+
16
+ require 'date'
17
+ require 'time'
18
+ require 'set'
19
+ require 'json'
20
+
21
+ module Airbnb
22
+ module Service
23
+ module Hongbao
24
+ module Api
25
+ module HelloRequestSmartclientModule
26
+ def self.included(mod)
27
+ mod.extend GenerateClassMethods
28
+ mod.send :include, GenerateInstanceMethods
29
+ end
30
+
31
+ module GenerateClassMethods
32
+ # Class level accessors to turn on/off specific checking
33
+ attr_accessor :type_checking_off
34
+ attr_accessor :non_null_checking_off
35
+
36
+ def build(params = {})
37
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HelloRequest.send(:new)
38
+ return _internal_object if params.nil?
39
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
40
+ return _internal_object if params.empty?
41
+
42
+ message = get_field_data(params, :message, :message, _internal_object.message)
43
+ _internal_object.message = message
44
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HelloRequest.type_checking_off
45
+ return _internal_object
46
+ end
47
+
48
+ private
49
+
50
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
51
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
52
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
53
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
54
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
55
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
56
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
57
+ return params[_json_override_name] if params.key?(_json_override_name)
58
+ return default
59
+ end
60
+
61
+ def non_null_validator(field_name, field)
62
+ raise "#{field_name} should not be nil!" if field.nil?
63
+ end
64
+
65
+ end
66
+
67
+ module GenerateInstanceMethods
68
+ JSON_NAME_OVERRIDES = {
69
+ }.freeze
70
+
71
+ def message; @message; end
72
+
73
+ def to_json(options = nil)
74
+ JSON.generate(to_hash(options))
75
+ end
76
+
77
+ # options:
78
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
79
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
80
+ def to_hash(options = nil)
81
+ res = {}
82
+ options ||= {}
83
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
84
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
85
+ if case_from_idl
86
+ if !(ignore_nil_field && message.nil?)
87
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:message) ? JSON_NAME_OVERRIDES[:message] : :message
88
+ res[_json_key_name] = message
89
+ end
90
+ else # enforcing to use snake case
91
+ if !(ignore_nil_field && message.nil?)
92
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:message) ? JSON_NAME_OVERRIDES[:message] : :message
93
+ res[_json_key_name] = message
94
+ end
95
+ end
96
+ res
97
+ end
98
+
99
+ alias_method :to_h, :to_hash
100
+
101
+ end
102
+ end
103
+
104
+ ::Airbnb::Service::Hongbao::Api::HelloRequest.send(:include, ::Airbnb::Service::Hongbao::Api::HelloRequestSmartclientModule)
105
+ ::Airbnb::Service::Hongbao::Api::HelloRequest.send(:private_class_method, :new)
106
+
107
+ module HelloResponseSmartclientModule
108
+ def self.included(mod)
109
+ mod.extend GenerateClassMethods
110
+ mod.send :include, GenerateInstanceMethods
111
+ end
112
+
113
+ module GenerateClassMethods
114
+ # Class level accessors to turn on/off specific checking
115
+ attr_accessor :type_checking_off
116
+ attr_accessor :non_null_checking_off
117
+
118
+ def build(params = {})
119
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HelloResponse.send(:new)
120
+ return _internal_object if params.nil?
121
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
122
+ return _internal_object if params.empty?
123
+
124
+ message = get_field_data(params, :message, :message, _internal_object.message)
125
+ _internal_object.message = message
126
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HelloResponse.type_checking_off
127
+ return _internal_object
128
+ end
129
+
130
+ private
131
+
132
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
133
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
134
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
135
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
136
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
137
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
138
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
139
+ return params[_json_override_name] if params.key?(_json_override_name)
140
+ return default
141
+ end
142
+
143
+ def non_null_validator(field_name, field)
144
+ raise "#{field_name} should not be nil!" if field.nil?
145
+ end
146
+
147
+ end
148
+
149
+ module GenerateInstanceMethods
150
+ JSON_NAME_OVERRIDES = {
151
+ }.freeze
152
+
153
+ def message; @message; end
154
+
155
+ def to_json(options = nil)
156
+ JSON.generate(to_hash(options))
157
+ end
158
+
159
+ # options:
160
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
161
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
162
+ def to_hash(options = nil)
163
+ res = {}
164
+ options ||= {}
165
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
166
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
167
+ if case_from_idl
168
+ if !(ignore_nil_field && message.nil?)
169
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:message) ? JSON_NAME_OVERRIDES[:message] : :message
170
+ res[_json_key_name] = message
171
+ end
172
+ else # enforcing to use snake case
173
+ if !(ignore_nil_field && message.nil?)
174
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:message) ? JSON_NAME_OVERRIDES[:message] : :message
175
+ res[_json_key_name] = message
176
+ end
177
+ end
178
+ res
179
+ end
180
+
181
+ alias_method :to_h, :to_hash
182
+
183
+ end
184
+ end
185
+
186
+ ::Airbnb::Service::Hongbao::Api::HelloResponse.send(:include, ::Airbnb::Service::Hongbao::Api::HelloResponseSmartclientModule)
187
+ ::Airbnb::Service::Hongbao::Api::HelloResponse.send(:private_class_method, :new)
188
+
189
+ module HelloExceptionSmartclientModule
190
+ def self.included(mod)
191
+ mod.extend GenerateClassMethods
192
+ mod.send :include, GenerateInstanceMethods
193
+ end
194
+
195
+ module GenerateInstanceMethods
196
+ attr_accessor :message
197
+ def to_s
198
+ "HelloException: #{@message}"
199
+ end
200
+ alias_method :inspect, :to_s
201
+
202
+ end
203
+
204
+ module GenerateClassMethods
205
+ def build(msg = nil)
206
+ _internal_object = HelloException.send(:new)
207
+ _internal_object.message = msg
208
+ return _internal_object
209
+ end
210
+
211
+ end
212
+
213
+ end
214
+
215
+ ::Airbnb::Service::Hongbao::Api::HelloException.send(:include, ::Airbnb::Service::Hongbao::Api::HelloExceptionSmartclientModule)
216
+ ::Airbnb::Service::Hongbao::Api::HelloException.send(:private_class_method, :new)
217
+
218
+ module UserRequestSmartclientModule
219
+ def self.included(mod)
220
+ mod.extend GenerateClassMethods
221
+ mod.send :include, GenerateInstanceMethods
222
+ end
223
+
224
+ module GenerateClassMethods
225
+ # Class level accessors to turn on/off specific checking
226
+ attr_accessor :type_checking_off
227
+ attr_accessor :non_null_checking_off
228
+
229
+ def build(params = {})
230
+ _internal_object = ::Airbnb::Service::Hongbao::Api::UserRequest.send(:new)
231
+ return _internal_object if params.nil?
232
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
233
+ return _internal_object if params.empty?
234
+
235
+ user_id = get_field_data(params, :user_id, :userId, _internal_object.userId)
236
+ _internal_object.userId = user_id
237
+ non_null_validator(:user_id, user_id) unless ::Airbnb::Service::Hongbao::Api::UserRequest.non_null_checking_off
238
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::UserRequest.type_checking_off
239
+ return _internal_object
240
+ end
241
+
242
+ private
243
+
244
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
245
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
246
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
247
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
248
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
249
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
250
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
251
+ return params[_json_override_name] if params.key?(_json_override_name)
252
+ return default
253
+ end
254
+
255
+ def non_null_validator(field_name, field)
256
+ raise "#{field_name} should not be nil!" if field.nil?
257
+ end
258
+
259
+ end
260
+
261
+ module GenerateInstanceMethods
262
+ JSON_NAME_OVERRIDES = {
263
+ }.freeze
264
+
265
+ def user_id; @userId; end
266
+
267
+ def to_json(options = nil)
268
+ JSON.generate(to_hash(options))
269
+ end
270
+
271
+ # options:
272
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
273
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
274
+ def to_hash(options = nil)
275
+ res = {}
276
+ options ||= {}
277
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
278
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
279
+ if case_from_idl
280
+ if !(ignore_nil_field && user_id.nil?)
281
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:userId) ? JSON_NAME_OVERRIDES[:userId] : :userId
282
+ res[_json_key_name] = user_id
283
+ end
284
+ else # enforcing to use snake case
285
+ if !(ignore_nil_field && user_id.nil?)
286
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:userId) ? JSON_NAME_OVERRIDES[:userId] : :user_id
287
+ res[_json_key_name] = user_id
288
+ end
289
+ end
290
+ res
291
+ end
292
+
293
+ alias_method :to_h, :to_hash
294
+
295
+ end
296
+ end
297
+
298
+ ::Airbnb::Service::Hongbao::Api::UserRequest.send(:include, ::Airbnb::Service::Hongbao::Api::UserRequestSmartclientModule)
299
+ ::Airbnb::Service::Hongbao::Api::UserRequest.send(:private_class_method, :new)
300
+
301
+ module UserResponseSmartclientModule
302
+ def self.included(mod)
303
+ mod.extend GenerateClassMethods
304
+ mod.send :include, GenerateInstanceMethods
305
+ end
306
+
307
+ module GenerateClassMethods
308
+ # Class level accessors to turn on/off specific checking
309
+ attr_accessor :type_checking_off
310
+ attr_accessor :non_null_checking_off
311
+
312
+ def build(params = {})
313
+ _internal_object = ::Airbnb::Service::Hongbao::Api::UserResponse.send(:new)
314
+ return _internal_object if params.nil?
315
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
316
+ return _internal_object if params.empty?
317
+
318
+ message = get_field_data(params, :message, :message, _internal_object.message)
319
+ _internal_object.message = message
320
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::UserResponse.type_checking_off
321
+ return _internal_object
322
+ end
323
+
324
+ private
325
+
326
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
327
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
328
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
329
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
330
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
331
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
332
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
333
+ return params[_json_override_name] if params.key?(_json_override_name)
334
+ return default
335
+ end
336
+
337
+ def non_null_validator(field_name, field)
338
+ raise "#{field_name} should not be nil!" if field.nil?
339
+ end
340
+
341
+ end
342
+
343
+ module GenerateInstanceMethods
344
+ JSON_NAME_OVERRIDES = {
345
+ }.freeze
346
+
347
+ def message; @message; end
348
+
349
+ def to_json(options = nil)
350
+ JSON.generate(to_hash(options))
351
+ end
352
+
353
+ # options:
354
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
355
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
356
+ def to_hash(options = nil)
357
+ res = {}
358
+ options ||= {}
359
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
360
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
361
+ if case_from_idl
362
+ if !(ignore_nil_field && message.nil?)
363
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:message) ? JSON_NAME_OVERRIDES[:message] : :message
364
+ res[_json_key_name] = message
365
+ end
366
+ else # enforcing to use snake case
367
+ if !(ignore_nil_field && message.nil?)
368
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:message) ? JSON_NAME_OVERRIDES[:message] : :message
369
+ res[_json_key_name] = message
370
+ end
371
+ end
372
+ res
373
+ end
374
+
375
+ alias_method :to_h, :to_hash
376
+
377
+ end
378
+ end
379
+
380
+ ::Airbnb::Service::Hongbao::Api::UserResponse.send(:include, ::Airbnb::Service::Hongbao::Api::UserResponseSmartclientModule)
381
+ ::Airbnb::Service::Hongbao::Api::UserResponse.send(:private_class_method, :new)
382
+
383
+ module UserExceptionSmartclientModule
384
+ def self.included(mod)
385
+ mod.extend GenerateClassMethods
386
+ mod.send :include, GenerateInstanceMethods
387
+ end
388
+
389
+ module GenerateInstanceMethods
390
+ attr_accessor :message
391
+ def to_s
392
+ "UserException: #{@message}"
393
+ end
394
+ alias_method :inspect, :to_s
395
+
396
+ end
397
+
398
+ module GenerateClassMethods
399
+ def build(msg = nil)
400
+ _internal_object = UserException.send(:new)
401
+ _internal_object.message = msg
402
+ return _internal_object
403
+ end
404
+
405
+ end
406
+
407
+ end
408
+
409
+ ::Airbnb::Service::Hongbao::Api::UserException.send(:include, ::Airbnb::Service::Hongbao::Api::UserExceptionSmartclientModule)
410
+ ::Airbnb::Service::Hongbao::Api::UserException.send(:private_class_method, :new)
411
+
412
+ module HasChinaCouponRequestSmartclientModule
413
+ def self.included(mod)
414
+ mod.extend GenerateClassMethods
415
+ mod.send :include, GenerateInstanceMethods
416
+ end
417
+
418
+ module GenerateClassMethods
419
+ # Class level accessors to turn on/off specific checking
420
+ attr_accessor :type_checking_off
421
+ attr_accessor :non_null_checking_off
422
+
423
+ def build(params = {})
424
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HasChinaCouponRequest.send(:new)
425
+ return _internal_object if params.nil?
426
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
427
+ return _internal_object if params.empty?
428
+
429
+ user_id = get_field_data(params, :user_id, :userId, _internal_object.userId)
430
+ _internal_object.userId = user_id
431
+ non_null_validator(:user_id, user_id) unless ::Airbnb::Service::Hongbao::Api::HasChinaCouponRequest.non_null_checking_off
432
+ campaign_name = get_field_data(params, :campaign_name, :campaignName, _internal_object.campaignName)
433
+ _internal_object.campaignName = campaign_name
434
+ non_null_validator(:campaign_name, campaign_name) unless ::Airbnb::Service::Hongbao::Api::HasChinaCouponRequest.non_null_checking_off
435
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HasChinaCouponRequest.type_checking_off
436
+ return _internal_object
437
+ end
438
+
439
+ private
440
+
441
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
442
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
443
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
444
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
445
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
446
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
447
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
448
+ return params[_json_override_name] if params.key?(_json_override_name)
449
+ return default
450
+ end
451
+
452
+ def non_null_validator(field_name, field)
453
+ raise "#{field_name} should not be nil!" if field.nil?
454
+ end
455
+
456
+ end
457
+
458
+ module GenerateInstanceMethods
459
+ JSON_NAME_OVERRIDES = {
460
+ }.freeze
461
+
462
+ def user_id; @userId; end
463
+ def campaign_name; @campaignName; end
464
+
465
+ def to_json(options = nil)
466
+ JSON.generate(to_hash(options))
467
+ end
468
+
469
+ # options:
470
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
471
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
472
+ def to_hash(options = nil)
473
+ res = {}
474
+ options ||= {}
475
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
476
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
477
+ if case_from_idl
478
+ if !(ignore_nil_field && user_id.nil?)
479
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:userId) ? JSON_NAME_OVERRIDES[:userId] : :userId
480
+ res[_json_key_name] = user_id
481
+ end
482
+ if !(ignore_nil_field && campaign_name.nil?)
483
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignName) ? JSON_NAME_OVERRIDES[:campaignName] : :campaignName
484
+ res[_json_key_name] = campaign_name
485
+ end
486
+ else # enforcing to use snake case
487
+ if !(ignore_nil_field && user_id.nil?)
488
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:userId) ? JSON_NAME_OVERRIDES[:userId] : :user_id
489
+ res[_json_key_name] = user_id
490
+ end
491
+ if !(ignore_nil_field && campaign_name.nil?)
492
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignName) ? JSON_NAME_OVERRIDES[:campaignName] : :campaign_name
493
+ res[_json_key_name] = campaign_name
494
+ end
495
+ end
496
+ res
497
+ end
498
+
499
+ alias_method :to_h, :to_hash
500
+
501
+ end
502
+ end
503
+
504
+ ::Airbnb::Service::Hongbao::Api::HasChinaCouponRequest.send(:include, ::Airbnb::Service::Hongbao::Api::HasChinaCouponRequestSmartclientModule)
505
+ ::Airbnb::Service::Hongbao::Api::HasChinaCouponRequest.send(:private_class_method, :new)
506
+
507
+ module HasChinaCouponResponseSmartclientModule
508
+ def self.included(mod)
509
+ mod.extend GenerateClassMethods
510
+ mod.send :include, GenerateInstanceMethods
511
+ end
512
+
513
+ module GenerateClassMethods
514
+ # Class level accessors to turn on/off specific checking
515
+ attr_accessor :type_checking_off
516
+ attr_accessor :non_null_checking_off
517
+
518
+ def build(params = {})
519
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HasChinaCouponResponse.send(:new)
520
+ return _internal_object if params.nil?
521
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
522
+ return _internal_object if params.empty?
523
+
524
+ has_china_coupon = get_field_data(params, :has_china_coupon, :hasChinaCoupon, _internal_object.hasChinaCoupon)
525
+ _internal_object.hasChinaCoupon = has_china_coupon
526
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HasChinaCouponResponse.type_checking_off
527
+ return _internal_object
528
+ end
529
+
530
+ private
531
+
532
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
533
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
534
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
535
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
536
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
537
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
538
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
539
+ return params[_json_override_name] if params.key?(_json_override_name)
540
+ return default
541
+ end
542
+
543
+ def non_null_validator(field_name, field)
544
+ raise "#{field_name} should not be nil!" if field.nil?
545
+ end
546
+
547
+ end
548
+
549
+ module GenerateInstanceMethods
550
+ JSON_NAME_OVERRIDES = {
551
+ }.freeze
552
+
553
+ def has_china_coupon; @hasChinaCoupon; end
554
+
555
+ def to_json(options = nil)
556
+ JSON.generate(to_hash(options))
557
+ end
558
+
559
+ # options:
560
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
561
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
562
+ def to_hash(options = nil)
563
+ res = {}
564
+ options ||= {}
565
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
566
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
567
+ if case_from_idl
568
+ if !(ignore_nil_field && has_china_coupon.nil?)
569
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:hasChinaCoupon) ? JSON_NAME_OVERRIDES[:hasChinaCoupon] : :hasChinaCoupon
570
+ res[_json_key_name] = has_china_coupon
571
+ end
572
+ else # enforcing to use snake case
573
+ if !(ignore_nil_field && has_china_coupon.nil?)
574
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:hasChinaCoupon) ? JSON_NAME_OVERRIDES[:hasChinaCoupon] : :has_china_coupon
575
+ res[_json_key_name] = has_china_coupon
576
+ end
577
+ end
578
+ res
579
+ end
580
+
581
+ alias_method :to_h, :to_hash
582
+
583
+ end
584
+ end
585
+
586
+ ::Airbnb::Service::Hongbao::Api::HasChinaCouponResponse.send(:include, ::Airbnb::Service::Hongbao::Api::HasChinaCouponResponseSmartclientModule)
587
+ ::Airbnb::Service::Hongbao::Api::HasChinaCouponResponse.send(:private_class_method, :new)
588
+
589
+ module HasChinaCouponExceptionSmartclientModule
590
+ def self.included(mod)
591
+ mod.extend GenerateClassMethods
592
+ mod.send :include, GenerateInstanceMethods
593
+ end
594
+
595
+ module GenerateInstanceMethods
596
+ attr_accessor :message
597
+ def to_s
598
+ "HasChinaCouponException: #{@message}"
599
+ end
600
+ alias_method :inspect, :to_s
601
+
602
+ end
603
+
604
+ module GenerateClassMethods
605
+ def build(msg = nil)
606
+ _internal_object = HasChinaCouponException.send(:new)
607
+ _internal_object.message = msg
608
+ return _internal_object
609
+ end
610
+
611
+ end
612
+
613
+ end
614
+
615
+ ::Airbnb::Service::Hongbao::Api::HasChinaCouponException.send(:include, ::Airbnb::Service::Hongbao::Api::HasChinaCouponExceptionSmartclientModule)
616
+ ::Airbnb::Service::Hongbao::Api::HasChinaCouponException.send(:private_class_method, :new)
617
+
618
+ module HongbaoCouponStateRequestSmartclientModule
619
+ def self.included(mod)
620
+ mod.extend GenerateClassMethods
621
+ mod.send :include, GenerateInstanceMethods
622
+ end
623
+
624
+ module GenerateClassMethods
625
+ # Class level accessors to turn on/off specific checking
626
+ attr_accessor :type_checking_off
627
+ attr_accessor :non_null_checking_off
628
+
629
+ def build(params = {})
630
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateRequest.send(:new)
631
+ return _internal_object if params.nil?
632
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
633
+ return _internal_object if params.empty?
634
+
635
+ user_id = get_field_data(params, :user_id, :userId, _internal_object.userId)
636
+ _internal_object.userId = user_id
637
+ non_null_validator(:user_id, user_id) unless ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateRequest.non_null_checking_off
638
+ campaign_name = get_field_data(params, :campaign_name, :campaignName, _internal_object.campaignName)
639
+ _internal_object.campaignName = campaign_name
640
+ non_null_validator(:campaign_name, campaign_name) unless ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateRequest.non_null_checking_off
641
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateRequest.type_checking_off
642
+ return _internal_object
643
+ end
644
+
645
+ private
646
+
647
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
648
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
649
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
650
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
651
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
652
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
653
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
654
+ return params[_json_override_name] if params.key?(_json_override_name)
655
+ return default
656
+ end
657
+
658
+ def non_null_validator(field_name, field)
659
+ raise "#{field_name} should not be nil!" if field.nil?
660
+ end
661
+
662
+ end
663
+
664
+ module GenerateInstanceMethods
665
+ JSON_NAME_OVERRIDES = {
666
+ }.freeze
667
+
668
+ def user_id; @userId; end
669
+ def campaign_name; @campaignName; end
670
+
671
+ def to_json(options = nil)
672
+ JSON.generate(to_hash(options))
673
+ end
674
+
675
+ # options:
676
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
677
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
678
+ def to_hash(options = nil)
679
+ res = {}
680
+ options ||= {}
681
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
682
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
683
+ if case_from_idl
684
+ if !(ignore_nil_field && user_id.nil?)
685
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:userId) ? JSON_NAME_OVERRIDES[:userId] : :userId
686
+ res[_json_key_name] = user_id
687
+ end
688
+ if !(ignore_nil_field && campaign_name.nil?)
689
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignName) ? JSON_NAME_OVERRIDES[:campaignName] : :campaignName
690
+ res[_json_key_name] = campaign_name
691
+ end
692
+ else # enforcing to use snake case
693
+ if !(ignore_nil_field && user_id.nil?)
694
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:userId) ? JSON_NAME_OVERRIDES[:userId] : :user_id
695
+ res[_json_key_name] = user_id
696
+ end
697
+ if !(ignore_nil_field && campaign_name.nil?)
698
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignName) ? JSON_NAME_OVERRIDES[:campaignName] : :campaign_name
699
+ res[_json_key_name] = campaign_name
700
+ end
701
+ end
702
+ res
703
+ end
704
+
705
+ alias_method :to_h, :to_hash
706
+
707
+ end
708
+ end
709
+
710
+ ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateRequest.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateRequestSmartclientModule)
711
+ ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateRequest.send(:private_class_method, :new)
712
+
713
+ module HongbaoCouponStateResponseSmartclientModule
714
+ def self.included(mod)
715
+ mod.extend GenerateClassMethods
716
+ mod.send :include, GenerateInstanceMethods
717
+ end
718
+
719
+ module GenerateClassMethods
720
+ # Class level accessors to turn on/off specific checking
721
+ attr_accessor :type_checking_off
722
+ attr_accessor :non_null_checking_off
723
+
724
+ def build(params = {})
725
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateResponse.send(:new)
726
+ return _internal_object if params.nil?
727
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
728
+ return _internal_object if params.empty?
729
+
730
+ state = get_field_data(params, :state, :state, _internal_object.state)
731
+ _internal_object.state = state
732
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateResponse.type_checking_off
733
+ return _internal_object
734
+ end
735
+
736
+ private
737
+
738
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
739
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
740
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
741
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
742
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
743
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
744
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
745
+ return params[_json_override_name] if params.key?(_json_override_name)
746
+ return default
747
+ end
748
+
749
+ def non_null_validator(field_name, field)
750
+ raise "#{field_name} should not be nil!" if field.nil?
751
+ end
752
+
753
+ end
754
+
755
+ module GenerateInstanceMethods
756
+ JSON_NAME_OVERRIDES = {
757
+ }.freeze
758
+
759
+ def state; @state; end
760
+
761
+ def to_json(options = nil)
762
+ JSON.generate(to_hash(options))
763
+ end
764
+
765
+ # options:
766
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
767
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
768
+ def to_hash(options = nil)
769
+ res = {}
770
+ options ||= {}
771
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
772
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
773
+ if case_from_idl
774
+ if !(ignore_nil_field && state.nil?)
775
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:state) ? JSON_NAME_OVERRIDES[:state] : :state
776
+ res[_json_key_name] = state
777
+ end
778
+ else # enforcing to use snake case
779
+ if !(ignore_nil_field && state.nil?)
780
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:state) ? JSON_NAME_OVERRIDES[:state] : :state
781
+ res[_json_key_name] = state
782
+ end
783
+ end
784
+ res
785
+ end
786
+
787
+ alias_method :to_h, :to_hash
788
+
789
+ end
790
+ end
791
+
792
+ ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateResponse.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateResponseSmartclientModule)
793
+ ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateResponse.send(:private_class_method, :new)
794
+
795
+ module HongbaoCouponStateExceptionSmartclientModule
796
+ def self.included(mod)
797
+ mod.extend GenerateClassMethods
798
+ mod.send :include, GenerateInstanceMethods
799
+ end
800
+
801
+ module GenerateInstanceMethods
802
+ attr_accessor :message
803
+ def to_s
804
+ "HongbaoCouponStateException: #{@message}"
805
+ end
806
+ alias_method :inspect, :to_s
807
+
808
+ end
809
+
810
+ module GenerateClassMethods
811
+ def build(msg = nil)
812
+ _internal_object = HongbaoCouponStateException.send(:new)
813
+ _internal_object.message = msg
814
+ return _internal_object
815
+ end
816
+
817
+ end
818
+
819
+ end
820
+
821
+ ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateException.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateExceptionSmartclientModule)
822
+ ::Airbnb::Service::Hongbao::Api::HongbaoCouponStateException.send(:private_class_method, :new)
823
+
824
+ module HongbaoCouponDataRequestSmartclientModule
825
+ def self.included(mod)
826
+ mod.extend GenerateClassMethods
827
+ mod.send :include, GenerateInstanceMethods
828
+ end
829
+
830
+ module GenerateClassMethods
831
+ # Class level accessors to turn on/off specific checking
832
+ attr_accessor :type_checking_off
833
+ attr_accessor :non_null_checking_off
834
+
835
+ def build(params = {})
836
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataRequest.send(:new)
837
+ return _internal_object if params.nil?
838
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
839
+ return _internal_object if params.empty?
840
+
841
+ user_id = get_field_data(params, :user_id, :userId, _internal_object.userId)
842
+ _internal_object.userId = user_id
843
+ non_null_validator(:user_id, user_id) unless ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataRequest.non_null_checking_off
844
+ campaign_name = get_field_data(params, :campaign_name, :campaignName, _internal_object.campaignName)
845
+ _internal_object.campaignName = campaign_name
846
+ non_null_validator(:campaign_name, campaign_name) unless ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataRequest.non_null_checking_off
847
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataRequest.type_checking_off
848
+ return _internal_object
849
+ end
850
+
851
+ private
852
+
853
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
854
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
855
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
856
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
857
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
858
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
859
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
860
+ return params[_json_override_name] if params.key?(_json_override_name)
861
+ return default
862
+ end
863
+
864
+ def non_null_validator(field_name, field)
865
+ raise "#{field_name} should not be nil!" if field.nil?
866
+ end
867
+
868
+ end
869
+
870
+ module GenerateInstanceMethods
871
+ JSON_NAME_OVERRIDES = {
872
+ }.freeze
873
+
874
+ def user_id; @userId; end
875
+ def campaign_name; @campaignName; end
876
+
877
+ def to_json(options = nil)
878
+ JSON.generate(to_hash(options))
879
+ end
880
+
881
+ # options:
882
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
883
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
884
+ def to_hash(options = nil)
885
+ res = {}
886
+ options ||= {}
887
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
888
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
889
+ if case_from_idl
890
+ if !(ignore_nil_field && user_id.nil?)
891
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:userId) ? JSON_NAME_OVERRIDES[:userId] : :userId
892
+ res[_json_key_name] = user_id
893
+ end
894
+ if !(ignore_nil_field && campaign_name.nil?)
895
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignName) ? JSON_NAME_OVERRIDES[:campaignName] : :campaignName
896
+ res[_json_key_name] = campaign_name
897
+ end
898
+ else # enforcing to use snake case
899
+ if !(ignore_nil_field && user_id.nil?)
900
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:userId) ? JSON_NAME_OVERRIDES[:userId] : :user_id
901
+ res[_json_key_name] = user_id
902
+ end
903
+ if !(ignore_nil_field && campaign_name.nil?)
904
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignName) ? JSON_NAME_OVERRIDES[:campaignName] : :campaign_name
905
+ res[_json_key_name] = campaign_name
906
+ end
907
+ end
908
+ res
909
+ end
910
+
911
+ alias_method :to_h, :to_hash
912
+
913
+ end
914
+ end
915
+
916
+ ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataRequest.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataRequestSmartclientModule)
917
+ ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataRequest.send(:private_class_method, :new)
918
+
919
+ module HongbaoCouponDataResponseSmartclientModule
920
+ def self.included(mod)
921
+ mod.extend GenerateClassMethods
922
+ mod.send :include, GenerateInstanceMethods
923
+ end
924
+
925
+ module GenerateClassMethods
926
+ # Class level accessors to turn on/off specific checking
927
+ attr_accessor :type_checking_off
928
+ attr_accessor :non_null_checking_off
929
+
930
+ def build(params = {})
931
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataResponse.send(:new)
932
+ return _internal_object if params.nil?
933
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
934
+ return _internal_object if params.empty?
935
+
936
+ code = get_field_data(params, :code, :code, _internal_object.code)
937
+ _internal_object.code = code
938
+ currency = get_field_data(params, :currency, :currency, _internal_object.currency)
939
+ _internal_object.currency = currency
940
+ expires_after = get_field_data(params, :expires_after, :expiresAfter, _internal_object.expiresAfter)
941
+ _internal_object.expiresAfter = expires_after
942
+ formatted_localized_amount = get_field_data(params, :formatted_localized_amount, :formattedLocalizedAmount, _internal_object.formattedLocalizedAmount)
943
+ _internal_object.formattedLocalizedAmount = formatted_localized_amount
944
+ formatted_localized_min_trip_cost = get_field_data(params, :formatted_localized_min_trip_cost, :formattedLocalizedMinTripCost, _internal_object.formattedLocalizedMinTripCost)
945
+ _internal_object.formattedLocalizedMinTripCost = formatted_localized_min_trip_cost
946
+ max_savings_usd = get_field_data(params, :max_savings_usd, :maxSavingsUsd, _internal_object.maxSavingsUsd)
947
+ _internal_object.maxSavingsUsd = max_savings_usd
948
+ min_trip_cost = get_field_data(params, :min_trip_cost, :minTripCost, _internal_object.minTripCost)
949
+ _internal_object.minTripCost = min_trip_cost
950
+ savings_amount = get_field_data(params, :savings_amount, :savingsAmount, _internal_object.savingsAmount)
951
+ _internal_object.savingsAmount = savings_amount
952
+ savings_percent = get_field_data(params, :savings_percent, :savingsPercent, _internal_object.savingsPercent)
953
+ _internal_object.savingsPercent = savings_percent
954
+ is_active = get_field_data(params, :is_active, :isActive, _internal_object.isActive)
955
+ _internal_object.isActive = is_active
956
+ id = get_field_data(params, :id, :id, _internal_object.id)
957
+ _internal_object.id = id
958
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataResponse.type_checking_off
959
+ return _internal_object
960
+ end
961
+
962
+ private
963
+
964
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
965
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
966
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
967
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
968
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
969
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
970
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
971
+ return params[_json_override_name] if params.key?(_json_override_name)
972
+ return default
973
+ end
974
+
975
+ def non_null_validator(field_name, field)
976
+ raise "#{field_name} should not be nil!" if field.nil?
977
+ end
978
+
979
+ end
980
+
981
+ module GenerateInstanceMethods
982
+ JSON_NAME_OVERRIDES = {
983
+ }.freeze
984
+
985
+ def code; @code; end
986
+ def currency; @currency; end
987
+ def expires_after; @expiresAfter; end
988
+ def formatted_localized_amount; @formattedLocalizedAmount; end
989
+ def formatted_localized_min_trip_cost; @formattedLocalizedMinTripCost; end
990
+ def max_savings_usd; @maxSavingsUsd; end
991
+ def min_trip_cost; @minTripCost; end
992
+ def savings_amount; @savingsAmount; end
993
+ def savings_percent; @savingsPercent; end
994
+ def is_active; @isActive; end
995
+ def id; @id; end
996
+
997
+ def to_json(options = nil)
998
+ JSON.generate(to_hash(options))
999
+ end
1000
+
1001
+ # options:
1002
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
1003
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
1004
+ def to_hash(options = nil)
1005
+ res = {}
1006
+ options ||= {}
1007
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
1008
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
1009
+ if case_from_idl
1010
+ if !(ignore_nil_field && code.nil?)
1011
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:code) ? JSON_NAME_OVERRIDES[:code] : :code
1012
+ res[_json_key_name] = code
1013
+ end
1014
+ if !(ignore_nil_field && currency.nil?)
1015
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:currency) ? JSON_NAME_OVERRIDES[:currency] : :currency
1016
+ res[_json_key_name] = currency
1017
+ end
1018
+ if !(ignore_nil_field && expires_after.nil?)
1019
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:expiresAfter) ? JSON_NAME_OVERRIDES[:expiresAfter] : :expiresAfter
1020
+ res[_json_key_name] = expires_after
1021
+ end
1022
+ if !(ignore_nil_field && formatted_localized_amount.nil?)
1023
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:formattedLocalizedAmount) ? JSON_NAME_OVERRIDES[:formattedLocalizedAmount] : :formattedLocalizedAmount
1024
+ res[_json_key_name] = formatted_localized_amount
1025
+ end
1026
+ if !(ignore_nil_field && formatted_localized_min_trip_cost.nil?)
1027
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:formattedLocalizedMinTripCost) ? JSON_NAME_OVERRIDES[:formattedLocalizedMinTripCost] : :formattedLocalizedMinTripCost
1028
+ res[_json_key_name] = formatted_localized_min_trip_cost
1029
+ end
1030
+ if !(ignore_nil_field && max_savings_usd.nil?)
1031
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:maxSavingsUsd) ? JSON_NAME_OVERRIDES[:maxSavingsUsd] : :maxSavingsUsd
1032
+ res[_json_key_name] = max_savings_usd
1033
+ end
1034
+ if !(ignore_nil_field && min_trip_cost.nil?)
1035
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:minTripCost) ? JSON_NAME_OVERRIDES[:minTripCost] : :minTripCost
1036
+ res[_json_key_name] = min_trip_cost
1037
+ end
1038
+ if !(ignore_nil_field && savings_amount.nil?)
1039
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:savingsAmount) ? JSON_NAME_OVERRIDES[:savingsAmount] : :savingsAmount
1040
+ res[_json_key_name] = savings_amount
1041
+ end
1042
+ if !(ignore_nil_field && savings_percent.nil?)
1043
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:savingsPercent) ? JSON_NAME_OVERRIDES[:savingsPercent] : :savingsPercent
1044
+ res[_json_key_name] = savings_percent
1045
+ end
1046
+ if !(ignore_nil_field && is_active.nil?)
1047
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:isActive) ? JSON_NAME_OVERRIDES[:isActive] : :isActive
1048
+ res[_json_key_name] = is_active
1049
+ end
1050
+ if !(ignore_nil_field && id.nil?)
1051
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:id) ? JSON_NAME_OVERRIDES[:id] : :id
1052
+ res[_json_key_name] = id
1053
+ end
1054
+ else # enforcing to use snake case
1055
+ if !(ignore_nil_field && code.nil?)
1056
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:code) ? JSON_NAME_OVERRIDES[:code] : :code
1057
+ res[_json_key_name] = code
1058
+ end
1059
+ if !(ignore_nil_field && currency.nil?)
1060
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:currency) ? JSON_NAME_OVERRIDES[:currency] : :currency
1061
+ res[_json_key_name] = currency
1062
+ end
1063
+ if !(ignore_nil_field && expires_after.nil?)
1064
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:expiresAfter) ? JSON_NAME_OVERRIDES[:expiresAfter] : :expires_after
1065
+ res[_json_key_name] = expires_after
1066
+ end
1067
+ if !(ignore_nil_field && formatted_localized_amount.nil?)
1068
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:formattedLocalizedAmount) ? JSON_NAME_OVERRIDES[:formattedLocalizedAmount] : :formatted_localized_amount
1069
+ res[_json_key_name] = formatted_localized_amount
1070
+ end
1071
+ if !(ignore_nil_field && formatted_localized_min_trip_cost.nil?)
1072
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:formattedLocalizedMinTripCost) ? JSON_NAME_OVERRIDES[:formattedLocalizedMinTripCost] : :formatted_localized_min_trip_cost
1073
+ res[_json_key_name] = formatted_localized_min_trip_cost
1074
+ end
1075
+ if !(ignore_nil_field && max_savings_usd.nil?)
1076
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:maxSavingsUsd) ? JSON_NAME_OVERRIDES[:maxSavingsUsd] : :max_savings_usd
1077
+ res[_json_key_name] = max_savings_usd
1078
+ end
1079
+ if !(ignore_nil_field && min_trip_cost.nil?)
1080
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:minTripCost) ? JSON_NAME_OVERRIDES[:minTripCost] : :min_trip_cost
1081
+ res[_json_key_name] = min_trip_cost
1082
+ end
1083
+ if !(ignore_nil_field && savings_amount.nil?)
1084
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:savingsAmount) ? JSON_NAME_OVERRIDES[:savingsAmount] : :savings_amount
1085
+ res[_json_key_name] = savings_amount
1086
+ end
1087
+ if !(ignore_nil_field && savings_percent.nil?)
1088
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:savingsPercent) ? JSON_NAME_OVERRIDES[:savingsPercent] : :savings_percent
1089
+ res[_json_key_name] = savings_percent
1090
+ end
1091
+ if !(ignore_nil_field && is_active.nil?)
1092
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:isActive) ? JSON_NAME_OVERRIDES[:isActive] : :is_active
1093
+ res[_json_key_name] = is_active
1094
+ end
1095
+ if !(ignore_nil_field && id.nil?)
1096
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:id) ? JSON_NAME_OVERRIDES[:id] : :id
1097
+ res[_json_key_name] = id
1098
+ end
1099
+ end
1100
+ res
1101
+ end
1102
+
1103
+ alias_method :to_h, :to_hash
1104
+
1105
+ end
1106
+ end
1107
+
1108
+ ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataResponse.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataResponseSmartclientModule)
1109
+ ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataResponse.send(:private_class_method, :new)
1110
+
1111
+ module HongbaoCouponDataExceptionSmartclientModule
1112
+ def self.included(mod)
1113
+ mod.extend GenerateClassMethods
1114
+ mod.send :include, GenerateInstanceMethods
1115
+ end
1116
+
1117
+ module GenerateInstanceMethods
1118
+ attr_accessor :message
1119
+ def to_s
1120
+ "HongbaoCouponDataException: #{@message}"
1121
+ end
1122
+ alias_method :inspect, :to_s
1123
+
1124
+ end
1125
+
1126
+ module GenerateClassMethods
1127
+ def build(msg = nil)
1128
+ _internal_object = HongbaoCouponDataException.send(:new)
1129
+ _internal_object.message = msg
1130
+ return _internal_object
1131
+ end
1132
+
1133
+ end
1134
+
1135
+ end
1136
+
1137
+ ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataException.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataExceptionSmartclientModule)
1138
+ ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataException.send(:private_class_method, :new)
1139
+
1140
+ module CampaignDataSmartclientModule
1141
+ def self.included(mod)
1142
+ mod.extend GenerateClassMethods
1143
+ mod.send :include, GenerateInstanceMethods
1144
+ end
1145
+
1146
+ module GenerateClassMethods
1147
+ # Class level accessors to turn on/off specific checking
1148
+ attr_accessor :type_checking_off
1149
+ attr_accessor :non_null_checking_off
1150
+
1151
+ def build(params = {})
1152
+ _internal_object = ::Airbnb::Service::Hongbao::Api::CampaignData.send(:new)
1153
+ return _internal_object if params.nil?
1154
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
1155
+ return _internal_object if params.empty?
1156
+
1157
+ campaign_is_active = get_field_data(params, :campaign_is_active, :campaignIsActive, _internal_object.campaignIsActive)
1158
+ _internal_object.campaignIsActive = campaign_is_active
1159
+ campaign_name = get_field_data(params, :campaign_name, :campaignName, _internal_object.campaignName)
1160
+ _internal_object.campaignName = campaign_name
1161
+ campaign_terms_and_conditions_url = get_field_data(params, :campaign_terms_and_conditions_url, :campaignTermsAndConditionsUrl, _internal_object.campaignTermsAndConditionsUrl)
1162
+ _internal_object.campaignTermsAndConditionsUrl = campaign_terms_and_conditions_url
1163
+ coupon_amount = get_field_data(params, :coupon_amount, :couponAmount, _internal_object.couponAmount)
1164
+ _internal_object.couponAmount = coupon_amount
1165
+ coupon_max_savings = get_field_data(params, :coupon_max_savings, :couponMaxSavings, _internal_object.couponMaxSavings)
1166
+ _internal_object.couponMaxSavings = coupon_max_savings
1167
+ coupon_min_cost = get_field_data(params, :coupon_min_cost, :couponMinCost, _internal_object.couponMinCost)
1168
+ _internal_object.couponMinCost = coupon_min_cost
1169
+ coupon_percent = get_field_data(params, :coupon_percent, :couponPercent, _internal_object.couponPercent)
1170
+ _internal_object.couponPercent = coupon_percent
1171
+ coupon_code_prefix = get_field_data(params, :coupon_code_prefix, :couponCodePrefix, _internal_object.couponCodePrefix)
1172
+ _internal_object.couponCodePrefix = coupon_code_prefix
1173
+ coupon_expires_after = get_field_data(params, :coupon_expires_after, :couponExpiresAfter, _internal_object.couponExpiresAfter)
1174
+ _internal_object.couponExpiresAfter = coupon_expires_after
1175
+ coupon_max_start_date = get_field_data(params, :coupon_max_start_date, :couponMaxStartDate, _internal_object.couponMaxStartDate)
1176
+ _internal_object.couponMaxStartDate = coupon_max_start_date
1177
+ coupon_native_currency = get_field_data(params, :coupon_native_currency, :couponNativeCurrency, _internal_object.couponNativeCurrency)
1178
+ _internal_object.couponNativeCurrency = coupon_native_currency
1179
+ coupon_series_label = get_field_data(params, :coupon_series_label, :couponSeriesLabel, _internal_object.couponSeriesLabel)
1180
+ _internal_object.couponSeriesLabel = coupon_series_label
1181
+ coupon_small_screen_claim_redis_key = get_field_data(params, :coupon_small_screen_claim_redis_key, :couponSmallScreenClaimRedisKey, _internal_object.couponSmallScreenClaimRedisKey)
1182
+ _internal_object.couponSmallScreenClaimRedisKey = coupon_small_screen_claim_redis_key
1183
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::CampaignData.type_checking_off
1184
+ return _internal_object
1185
+ end
1186
+
1187
+ private
1188
+
1189
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
1190
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
1191
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
1192
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
1193
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1194
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1195
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
1196
+ return params[_json_override_name] if params.key?(_json_override_name)
1197
+ return default
1198
+ end
1199
+
1200
+ def non_null_validator(field_name, field)
1201
+ raise "#{field_name} should not be nil!" if field.nil?
1202
+ end
1203
+
1204
+ end
1205
+
1206
+ module GenerateInstanceMethods
1207
+ JSON_NAME_OVERRIDES = {
1208
+ }.freeze
1209
+
1210
+ def campaign_is_active; @campaignIsActive; end
1211
+ def campaign_name; @campaignName; end
1212
+ def campaign_terms_and_conditions_url; @campaignTermsAndConditionsUrl; end
1213
+ def coupon_amount; @couponAmount; end
1214
+ def coupon_max_savings; @couponMaxSavings; end
1215
+ def coupon_min_cost; @couponMinCost; end
1216
+ def coupon_percent; @couponPercent; end
1217
+ def coupon_code_prefix; @couponCodePrefix; end
1218
+ def coupon_expires_after; @couponExpiresAfter; end
1219
+ def coupon_max_start_date; @couponMaxStartDate; end
1220
+ def coupon_native_currency; @couponNativeCurrency; end
1221
+ def coupon_series_label; @couponSeriesLabel; end
1222
+ def coupon_small_screen_claim_redis_key; @couponSmallScreenClaimRedisKey; end
1223
+
1224
+ def to_json(options = nil)
1225
+ JSON.generate(to_hash(options))
1226
+ end
1227
+
1228
+ # options:
1229
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
1230
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
1231
+ def to_hash(options = nil)
1232
+ res = {}
1233
+ options ||= {}
1234
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
1235
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
1236
+ if case_from_idl
1237
+ if !(ignore_nil_field && campaign_is_active.nil?)
1238
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignIsActive) ? JSON_NAME_OVERRIDES[:campaignIsActive] : :campaignIsActive
1239
+ res[_json_key_name] = campaign_is_active
1240
+ end
1241
+ if !(ignore_nil_field && campaign_name.nil?)
1242
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignName) ? JSON_NAME_OVERRIDES[:campaignName] : :campaignName
1243
+ res[_json_key_name] = campaign_name
1244
+ end
1245
+ if !(ignore_nil_field && campaign_terms_and_conditions_url.nil?)
1246
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignTermsAndConditionsUrl) ? JSON_NAME_OVERRIDES[:campaignTermsAndConditionsUrl] : :campaignTermsAndConditionsUrl
1247
+ res[_json_key_name] = campaign_terms_and_conditions_url
1248
+ end
1249
+ if !(ignore_nil_field && coupon_amount.nil?)
1250
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponAmount) ? JSON_NAME_OVERRIDES[:couponAmount] : :couponAmount
1251
+ res[_json_key_name] = coupon_amount
1252
+ end
1253
+ if !(ignore_nil_field && coupon_max_savings.nil?)
1254
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponMaxSavings) ? JSON_NAME_OVERRIDES[:couponMaxSavings] : :couponMaxSavings
1255
+ res[_json_key_name] = coupon_max_savings
1256
+ end
1257
+ if !(ignore_nil_field && coupon_min_cost.nil?)
1258
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponMinCost) ? JSON_NAME_OVERRIDES[:couponMinCost] : :couponMinCost
1259
+ res[_json_key_name] = coupon_min_cost
1260
+ end
1261
+ if !(ignore_nil_field && coupon_percent.nil?)
1262
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponPercent) ? JSON_NAME_OVERRIDES[:couponPercent] : :couponPercent
1263
+ res[_json_key_name] = coupon_percent
1264
+ end
1265
+ if !(ignore_nil_field && coupon_code_prefix.nil?)
1266
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponCodePrefix) ? JSON_NAME_OVERRIDES[:couponCodePrefix] : :couponCodePrefix
1267
+ res[_json_key_name] = coupon_code_prefix
1268
+ end
1269
+ if !(ignore_nil_field && coupon_expires_after.nil?)
1270
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponExpiresAfter) ? JSON_NAME_OVERRIDES[:couponExpiresAfter] : :couponExpiresAfter
1271
+ res[_json_key_name] = coupon_expires_after
1272
+ end
1273
+ if !(ignore_nil_field && coupon_max_start_date.nil?)
1274
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponMaxStartDate) ? JSON_NAME_OVERRIDES[:couponMaxStartDate] : :couponMaxStartDate
1275
+ res[_json_key_name] = coupon_max_start_date
1276
+ end
1277
+ if !(ignore_nil_field && coupon_native_currency.nil?)
1278
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponNativeCurrency) ? JSON_NAME_OVERRIDES[:couponNativeCurrency] : :couponNativeCurrency
1279
+ res[_json_key_name] = coupon_native_currency
1280
+ end
1281
+ if !(ignore_nil_field && coupon_series_label.nil?)
1282
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponSeriesLabel) ? JSON_NAME_OVERRIDES[:couponSeriesLabel] : :couponSeriesLabel
1283
+ res[_json_key_name] = coupon_series_label
1284
+ end
1285
+ if !(ignore_nil_field && coupon_small_screen_claim_redis_key.nil?)
1286
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponSmallScreenClaimRedisKey) ? JSON_NAME_OVERRIDES[:couponSmallScreenClaimRedisKey] : :couponSmallScreenClaimRedisKey
1287
+ res[_json_key_name] = coupon_small_screen_claim_redis_key
1288
+ end
1289
+ else # enforcing to use snake case
1290
+ if !(ignore_nil_field && campaign_is_active.nil?)
1291
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignIsActive) ? JSON_NAME_OVERRIDES[:campaignIsActive] : :campaign_is_active
1292
+ res[_json_key_name] = campaign_is_active
1293
+ end
1294
+ if !(ignore_nil_field && campaign_name.nil?)
1295
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignName) ? JSON_NAME_OVERRIDES[:campaignName] : :campaign_name
1296
+ res[_json_key_name] = campaign_name
1297
+ end
1298
+ if !(ignore_nil_field && campaign_terms_and_conditions_url.nil?)
1299
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignTermsAndConditionsUrl) ? JSON_NAME_OVERRIDES[:campaignTermsAndConditionsUrl] : :campaign_terms_and_conditions_url
1300
+ res[_json_key_name] = campaign_terms_and_conditions_url
1301
+ end
1302
+ if !(ignore_nil_field && coupon_amount.nil?)
1303
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponAmount) ? JSON_NAME_OVERRIDES[:couponAmount] : :coupon_amount
1304
+ res[_json_key_name] = coupon_amount
1305
+ end
1306
+ if !(ignore_nil_field && coupon_max_savings.nil?)
1307
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponMaxSavings) ? JSON_NAME_OVERRIDES[:couponMaxSavings] : :coupon_max_savings
1308
+ res[_json_key_name] = coupon_max_savings
1309
+ end
1310
+ if !(ignore_nil_field && coupon_min_cost.nil?)
1311
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponMinCost) ? JSON_NAME_OVERRIDES[:couponMinCost] : :coupon_min_cost
1312
+ res[_json_key_name] = coupon_min_cost
1313
+ end
1314
+ if !(ignore_nil_field && coupon_percent.nil?)
1315
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponPercent) ? JSON_NAME_OVERRIDES[:couponPercent] : :coupon_percent
1316
+ res[_json_key_name] = coupon_percent
1317
+ end
1318
+ if !(ignore_nil_field && coupon_code_prefix.nil?)
1319
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponCodePrefix) ? JSON_NAME_OVERRIDES[:couponCodePrefix] : :coupon_code_prefix
1320
+ res[_json_key_name] = coupon_code_prefix
1321
+ end
1322
+ if !(ignore_nil_field && coupon_expires_after.nil?)
1323
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponExpiresAfter) ? JSON_NAME_OVERRIDES[:couponExpiresAfter] : :coupon_expires_after
1324
+ res[_json_key_name] = coupon_expires_after
1325
+ end
1326
+ if !(ignore_nil_field && coupon_max_start_date.nil?)
1327
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponMaxStartDate) ? JSON_NAME_OVERRIDES[:couponMaxStartDate] : :coupon_max_start_date
1328
+ res[_json_key_name] = coupon_max_start_date
1329
+ end
1330
+ if !(ignore_nil_field && coupon_native_currency.nil?)
1331
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponNativeCurrency) ? JSON_NAME_OVERRIDES[:couponNativeCurrency] : :coupon_native_currency
1332
+ res[_json_key_name] = coupon_native_currency
1333
+ end
1334
+ if !(ignore_nil_field && coupon_series_label.nil?)
1335
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponSeriesLabel) ? JSON_NAME_OVERRIDES[:couponSeriesLabel] : :coupon_series_label
1336
+ res[_json_key_name] = coupon_series_label
1337
+ end
1338
+ if !(ignore_nil_field && coupon_small_screen_claim_redis_key.nil?)
1339
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponSmallScreenClaimRedisKey) ? JSON_NAME_OVERRIDES[:couponSmallScreenClaimRedisKey] : :coupon_small_screen_claim_redis_key
1340
+ res[_json_key_name] = coupon_small_screen_claim_redis_key
1341
+ end
1342
+ end
1343
+ res
1344
+ end
1345
+
1346
+ alias_method :to_h, :to_hash
1347
+
1348
+ end
1349
+ end
1350
+
1351
+ ::Airbnb::Service::Hongbao::Api::CampaignData.send(:include, ::Airbnb::Service::Hongbao::Api::CampaignDataSmartclientModule)
1352
+ ::Airbnb::Service::Hongbao::Api::CampaignData.send(:private_class_method, :new)
1353
+
1354
+ module HongbaoActiveCampaignRequestSmartclientModule
1355
+ def self.included(mod)
1356
+ mod.extend GenerateClassMethods
1357
+ mod.send :include, GenerateInstanceMethods
1358
+ end
1359
+
1360
+ module GenerateClassMethods
1361
+ # Class level accessors to turn on/off specific checking
1362
+ attr_accessor :type_checking_off
1363
+ attr_accessor :non_null_checking_off
1364
+
1365
+ def build(params = {})
1366
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignRequest.send(:new)
1367
+ return _internal_object if params.nil?
1368
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
1369
+ return _internal_object if params.empty?
1370
+
1371
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignRequest.type_checking_off
1372
+ return _internal_object
1373
+ end
1374
+
1375
+ private
1376
+
1377
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
1378
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
1379
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
1380
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
1381
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1382
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1383
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
1384
+ return params[_json_override_name] if params.key?(_json_override_name)
1385
+ return default
1386
+ end
1387
+
1388
+ def non_null_validator(field_name, field)
1389
+ raise "#{field_name} should not be nil!" if field.nil?
1390
+ end
1391
+
1392
+ end
1393
+
1394
+ module GenerateInstanceMethods
1395
+ JSON_NAME_OVERRIDES = {
1396
+ }.freeze
1397
+
1398
+
1399
+ def to_json(options = nil)
1400
+ JSON.generate(to_hash(options))
1401
+ end
1402
+
1403
+ # options:
1404
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
1405
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
1406
+ def to_hash(options = nil)
1407
+ res = {}
1408
+ options ||= {}
1409
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
1410
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
1411
+ if case_from_idl
1412
+ else # enforcing to use snake case
1413
+ end
1414
+ res
1415
+ end
1416
+
1417
+ alias_method :to_h, :to_hash
1418
+
1419
+ end
1420
+ end
1421
+
1422
+ ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignRequest.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignRequestSmartclientModule)
1423
+ ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignRequest.send(:private_class_method, :new)
1424
+
1425
+ module HongbaoActiveCampaignResponseSmartclientModule
1426
+ def self.included(mod)
1427
+ mod.extend GenerateClassMethods
1428
+ mod.send :include, GenerateInstanceMethods
1429
+ end
1430
+
1431
+ module GenerateClassMethods
1432
+ # Class level accessors to turn on/off specific checking
1433
+ attr_accessor :type_checking_off
1434
+ attr_accessor :non_null_checking_off
1435
+
1436
+ def build(params = {})
1437
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignResponse.send(:new)
1438
+ return _internal_object if params.nil?
1439
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
1440
+ return _internal_object if params.empty?
1441
+
1442
+ campaign_name = get_field_data(params, :campaign_name, :campaignName, _internal_object.campaignName)
1443
+ _internal_object.campaignName = campaign_name
1444
+ campaign_data = get_field_data(params, :campaign_data, :campaignData, _internal_object.campaignData)
1445
+ _internal_object.campaignData = (campaign_data.respond_to?(:struct_fields) || campaign_data.nil?) ? campaign_data : ::Airbnb::Service::Hongbao::Api::CampaignData.build(campaign_data)
1446
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignResponse.type_checking_off
1447
+ return _internal_object
1448
+ end
1449
+
1450
+ private
1451
+
1452
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
1453
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
1454
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
1455
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
1456
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1457
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1458
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
1459
+ return params[_json_override_name] if params.key?(_json_override_name)
1460
+ return default
1461
+ end
1462
+
1463
+ def non_null_validator(field_name, field)
1464
+ raise "#{field_name} should not be nil!" if field.nil?
1465
+ end
1466
+
1467
+ end
1468
+
1469
+ module GenerateInstanceMethods
1470
+ JSON_NAME_OVERRIDES = {
1471
+ }.freeze
1472
+
1473
+ def campaign_name; @campaignName; end
1474
+ def campaign_data; @campaignData; end
1475
+
1476
+ def to_json(options = nil)
1477
+ JSON.generate(to_hash(options))
1478
+ end
1479
+
1480
+ # options:
1481
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
1482
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
1483
+ def to_hash(options = nil)
1484
+ res = {}
1485
+ options ||= {}
1486
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
1487
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
1488
+ if case_from_idl
1489
+ if !(ignore_nil_field && campaign_name.nil?)
1490
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignName) ? JSON_NAME_OVERRIDES[:campaignName] : :campaignName
1491
+ res[_json_key_name] = campaign_name
1492
+ end
1493
+ if !(ignore_nil_field && campaign_data.nil?)
1494
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignData) ? JSON_NAME_OVERRIDES[:campaignData] : :campaignData
1495
+ res[_json_key_name] = campaign_data.nil? ? nil : campaign_data.to_hash(options)
1496
+ end
1497
+ else # enforcing to use snake case
1498
+ if !(ignore_nil_field && campaign_name.nil?)
1499
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignName) ? JSON_NAME_OVERRIDES[:campaignName] : :campaign_name
1500
+ res[_json_key_name] = campaign_name
1501
+ end
1502
+ if !(ignore_nil_field && campaign_data.nil?)
1503
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignData) ? JSON_NAME_OVERRIDES[:campaignData] : :campaign_data
1504
+ res[_json_key_name] = campaign_data.nil? ? nil : campaign_data.to_hash(options)
1505
+ end
1506
+ end
1507
+ res
1508
+ end
1509
+
1510
+ alias_method :to_h, :to_hash
1511
+
1512
+ end
1513
+ end
1514
+
1515
+ ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignResponse.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignResponseSmartclientModule)
1516
+ ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignResponse.send(:private_class_method, :new)
1517
+
1518
+ module HongbaoActiveCampaignExceptionSmartclientModule
1519
+ def self.included(mod)
1520
+ mod.extend GenerateClassMethods
1521
+ mod.send :include, GenerateInstanceMethods
1522
+ end
1523
+
1524
+ module GenerateInstanceMethods
1525
+ attr_accessor :message
1526
+ def to_s
1527
+ "HongbaoActiveCampaignException: #{@message}"
1528
+ end
1529
+ alias_method :inspect, :to_s
1530
+
1531
+ end
1532
+
1533
+ module GenerateClassMethods
1534
+ def build(msg = nil)
1535
+ _internal_object = HongbaoActiveCampaignException.send(:new)
1536
+ _internal_object.message = msg
1537
+ return _internal_object
1538
+ end
1539
+
1540
+ end
1541
+
1542
+ end
1543
+
1544
+ ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignException.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignExceptionSmartclientModule)
1545
+ ::Airbnb::Service::Hongbao::Api::HongbaoActiveCampaignException.send(:private_class_method, :new)
1546
+
1547
+ module HongbaoCampaignDataRequestSmartclientModule
1548
+ def self.included(mod)
1549
+ mod.extend GenerateClassMethods
1550
+ mod.send :include, GenerateInstanceMethods
1551
+ end
1552
+
1553
+ module GenerateClassMethods
1554
+ # Class level accessors to turn on/off specific checking
1555
+ attr_accessor :type_checking_off
1556
+ attr_accessor :non_null_checking_off
1557
+
1558
+ def build(params = {})
1559
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataRequest.send(:new)
1560
+ return _internal_object if params.nil?
1561
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
1562
+ return _internal_object if params.empty?
1563
+
1564
+ campaign_name = get_field_data(params, :campaign_name, :campaignName, _internal_object.campaignName)
1565
+ _internal_object.campaignName = campaign_name
1566
+ non_null_validator(:campaign_name, campaign_name) unless ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataRequest.non_null_checking_off
1567
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataRequest.type_checking_off
1568
+ return _internal_object
1569
+ end
1570
+
1571
+ private
1572
+
1573
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
1574
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
1575
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
1576
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
1577
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1578
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1579
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
1580
+ return params[_json_override_name] if params.key?(_json_override_name)
1581
+ return default
1582
+ end
1583
+
1584
+ def non_null_validator(field_name, field)
1585
+ raise "#{field_name} should not be nil!" if field.nil?
1586
+ end
1587
+
1588
+ end
1589
+
1590
+ module GenerateInstanceMethods
1591
+ JSON_NAME_OVERRIDES = {
1592
+ }.freeze
1593
+
1594
+ def campaign_name; @campaignName; end
1595
+
1596
+ def to_json(options = nil)
1597
+ JSON.generate(to_hash(options))
1598
+ end
1599
+
1600
+ # options:
1601
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
1602
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
1603
+ def to_hash(options = nil)
1604
+ res = {}
1605
+ options ||= {}
1606
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
1607
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
1608
+ if case_from_idl
1609
+ if !(ignore_nil_field && campaign_name.nil?)
1610
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignName) ? JSON_NAME_OVERRIDES[:campaignName] : :campaignName
1611
+ res[_json_key_name] = campaign_name
1612
+ end
1613
+ else # enforcing to use snake case
1614
+ if !(ignore_nil_field && campaign_name.nil?)
1615
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignName) ? JSON_NAME_OVERRIDES[:campaignName] : :campaign_name
1616
+ res[_json_key_name] = campaign_name
1617
+ end
1618
+ end
1619
+ res
1620
+ end
1621
+
1622
+ alias_method :to_h, :to_hash
1623
+
1624
+ end
1625
+ end
1626
+
1627
+ ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataRequest.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataRequestSmartclientModule)
1628
+ ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataRequest.send(:private_class_method, :new)
1629
+
1630
+ module HongbaoCampaignDataResponseSmartclientModule
1631
+ def self.included(mod)
1632
+ mod.extend GenerateClassMethods
1633
+ mod.send :include, GenerateInstanceMethods
1634
+ end
1635
+
1636
+ module GenerateClassMethods
1637
+ # Class level accessors to turn on/off specific checking
1638
+ attr_accessor :type_checking_off
1639
+ attr_accessor :non_null_checking_off
1640
+
1641
+ def build(params = {})
1642
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataResponse.send(:new)
1643
+ return _internal_object if params.nil?
1644
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
1645
+ return _internal_object if params.empty?
1646
+
1647
+ campaign_data = get_field_data(params, :campaign_data, :campaignData, _internal_object.campaignData)
1648
+ _internal_object.campaignData = (campaign_data.respond_to?(:struct_fields) || campaign_data.nil?) ? campaign_data : ::Airbnb::Service::Hongbao::Api::CampaignData.build(campaign_data)
1649
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataResponse.type_checking_off
1650
+ return _internal_object
1651
+ end
1652
+
1653
+ private
1654
+
1655
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
1656
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
1657
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
1658
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
1659
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1660
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1661
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
1662
+ return params[_json_override_name] if params.key?(_json_override_name)
1663
+ return default
1664
+ end
1665
+
1666
+ def non_null_validator(field_name, field)
1667
+ raise "#{field_name} should not be nil!" if field.nil?
1668
+ end
1669
+
1670
+ end
1671
+
1672
+ module GenerateInstanceMethods
1673
+ JSON_NAME_OVERRIDES = {
1674
+ }.freeze
1675
+
1676
+ def campaign_data; @campaignData; end
1677
+
1678
+ def to_json(options = nil)
1679
+ JSON.generate(to_hash(options))
1680
+ end
1681
+
1682
+ # options:
1683
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
1684
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
1685
+ def to_hash(options = nil)
1686
+ res = {}
1687
+ options ||= {}
1688
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
1689
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
1690
+ if case_from_idl
1691
+ if !(ignore_nil_field && campaign_data.nil?)
1692
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignData) ? JSON_NAME_OVERRIDES[:campaignData] : :campaignData
1693
+ res[_json_key_name] = campaign_data.nil? ? nil : campaign_data.to_hash(options)
1694
+ end
1695
+ else # enforcing to use snake case
1696
+ if !(ignore_nil_field && campaign_data.nil?)
1697
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:campaignData) ? JSON_NAME_OVERRIDES[:campaignData] : :campaign_data
1698
+ res[_json_key_name] = campaign_data.nil? ? nil : campaign_data.to_hash(options)
1699
+ end
1700
+ end
1701
+ res
1702
+ end
1703
+
1704
+ alias_method :to_h, :to_hash
1705
+
1706
+ end
1707
+ end
1708
+
1709
+ ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataResponse.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataResponseSmartclientModule)
1710
+ ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataResponse.send(:private_class_method, :new)
1711
+
1712
+ module HongbaoCampaignDataExceptionSmartclientModule
1713
+ def self.included(mod)
1714
+ mod.extend GenerateClassMethods
1715
+ mod.send :include, GenerateInstanceMethods
1716
+ end
1717
+
1718
+ module GenerateInstanceMethods
1719
+ attr_accessor :message
1720
+ def to_s
1721
+ "HongbaoCampaignDataException: #{@message}"
1722
+ end
1723
+ alias_method :inspect, :to_s
1724
+
1725
+ end
1726
+
1727
+ module GenerateClassMethods
1728
+ def build(msg = nil)
1729
+ _internal_object = HongbaoCampaignDataException.send(:new)
1730
+ _internal_object.message = msg
1731
+ return _internal_object
1732
+ end
1733
+
1734
+ end
1735
+
1736
+ end
1737
+
1738
+ ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataException.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataExceptionSmartclientModule)
1739
+ ::Airbnb::Service::Hongbao::Api::HongbaoCampaignDataException.send(:private_class_method, :new)
1740
+
1741
+ module HongbaoGetUserChinaCouponsRequestSmartclientModule
1742
+ def self.included(mod)
1743
+ mod.extend GenerateClassMethods
1744
+ mod.send :include, GenerateInstanceMethods
1745
+ end
1746
+
1747
+ module GenerateClassMethods
1748
+ # Class level accessors to turn on/off specific checking
1749
+ attr_accessor :type_checking_off
1750
+ attr_accessor :non_null_checking_off
1751
+
1752
+ def build(params = {})
1753
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsRequest.send(:new)
1754
+ return _internal_object if params.nil?
1755
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
1756
+ return _internal_object if params.empty?
1757
+
1758
+ user_id = get_field_data(params, :user_id, :userId, _internal_object.userId)
1759
+ _internal_object.userId = user_id
1760
+ non_null_validator(:user_id, user_id) unless ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsRequest.non_null_checking_off
1761
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsRequest.type_checking_off
1762
+ return _internal_object
1763
+ end
1764
+
1765
+ private
1766
+
1767
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
1768
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
1769
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
1770
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
1771
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1772
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1773
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
1774
+ return params[_json_override_name] if params.key?(_json_override_name)
1775
+ return default
1776
+ end
1777
+
1778
+ def non_null_validator(field_name, field)
1779
+ raise "#{field_name} should not be nil!" if field.nil?
1780
+ end
1781
+
1782
+ end
1783
+
1784
+ module GenerateInstanceMethods
1785
+ JSON_NAME_OVERRIDES = {
1786
+ }.freeze
1787
+
1788
+ def user_id; @userId; end
1789
+
1790
+ def to_json(options = nil)
1791
+ JSON.generate(to_hash(options))
1792
+ end
1793
+
1794
+ # options:
1795
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
1796
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
1797
+ def to_hash(options = nil)
1798
+ res = {}
1799
+ options ||= {}
1800
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
1801
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
1802
+ if case_from_idl
1803
+ if !(ignore_nil_field && user_id.nil?)
1804
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:userId) ? JSON_NAME_OVERRIDES[:userId] : :userId
1805
+ res[_json_key_name] = user_id
1806
+ end
1807
+ else # enforcing to use snake case
1808
+ if !(ignore_nil_field && user_id.nil?)
1809
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:userId) ? JSON_NAME_OVERRIDES[:userId] : :user_id
1810
+ res[_json_key_name] = user_id
1811
+ end
1812
+ end
1813
+ res
1814
+ end
1815
+
1816
+ alias_method :to_h, :to_hash
1817
+
1818
+ end
1819
+ end
1820
+
1821
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsRequest.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsRequestSmartclientModule)
1822
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsRequest.send(:private_class_method, :new)
1823
+
1824
+ module HongbaoGetUserChinaCouponsResponseSmartclientModule
1825
+ def self.included(mod)
1826
+ mod.extend GenerateClassMethods
1827
+ mod.send :include, GenerateInstanceMethods
1828
+ end
1829
+
1830
+ module GenerateClassMethods
1831
+ # Class level accessors to turn on/off specific checking
1832
+ attr_accessor :type_checking_off
1833
+ attr_accessor :non_null_checking_off
1834
+
1835
+ def build(params = {})
1836
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsResponse.send(:new)
1837
+ return _internal_object if params.nil?
1838
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
1839
+ return _internal_object if params.empty?
1840
+
1841
+ coupon_codes = get_field_data(params, :coupon_codes, :couponCodes, _internal_object.couponCodes)
1842
+ _internal_object.couponCodes = if !coupon_codes.nil?
1843
+ raise "coupon_codes should be an Array, while it is #{coupon_codes.class}" unless coupon_codes.is_a?(Array)
1844
+ coupon_codes.map do |coupon_codes_item|
1845
+ coupon_codes_item
1846
+ end
1847
+ end
1848
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsResponse.type_checking_off
1849
+ return _internal_object
1850
+ end
1851
+
1852
+ private
1853
+
1854
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
1855
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
1856
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
1857
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
1858
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1859
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1860
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
1861
+ return params[_json_override_name] if params.key?(_json_override_name)
1862
+ return default
1863
+ end
1864
+
1865
+ def non_null_validator(field_name, field)
1866
+ raise "#{field_name} should not be nil!" if field.nil?
1867
+ end
1868
+
1869
+ end
1870
+
1871
+ module GenerateInstanceMethods
1872
+ JSON_NAME_OVERRIDES = {
1873
+ }.freeze
1874
+
1875
+ def coupon_codes; @couponCodes; end
1876
+
1877
+ def to_json(options = nil)
1878
+ JSON.generate(to_hash(options))
1879
+ end
1880
+
1881
+ # options:
1882
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
1883
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
1884
+ def to_hash(options = nil)
1885
+ res = {}
1886
+ options ||= {}
1887
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
1888
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
1889
+ if case_from_idl
1890
+ if !(ignore_nil_field && coupon_codes.nil?)
1891
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponCodes) ? JSON_NAME_OVERRIDES[:couponCodes] : :couponCodes
1892
+ res[_json_key_name] = if !coupon_codes.nil?
1893
+ raise "coupon_codes should be an Array, while it is #{coupon_codes.class}" unless coupon_codes.is_a?(Array)
1894
+ coupon_codes.map do |coupon_codes_item|
1895
+ coupon_codes_item
1896
+ end
1897
+ end
1898
+ end
1899
+ else # enforcing to use snake case
1900
+ if !(ignore_nil_field && coupon_codes.nil?)
1901
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:couponCodes) ? JSON_NAME_OVERRIDES[:couponCodes] : :coupon_codes
1902
+ res[_json_key_name] = if !coupon_codes.nil?
1903
+ raise "coupon_codes should be an Array, while it is #{coupon_codes.class}" unless coupon_codes.is_a?(Array)
1904
+ coupon_codes.map do |coupon_codes_item|
1905
+ coupon_codes_item
1906
+ end
1907
+ end
1908
+ end
1909
+ end
1910
+ res
1911
+ end
1912
+
1913
+ alias_method :to_h, :to_hash
1914
+
1915
+ end
1916
+ end
1917
+
1918
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsResponse.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsResponseSmartclientModule)
1919
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsResponse.send(:private_class_method, :new)
1920
+
1921
+ module HongbaoGetUserChinaCouponsExceptionSmartclientModule
1922
+ def self.included(mod)
1923
+ mod.extend GenerateClassMethods
1924
+ mod.send :include, GenerateInstanceMethods
1925
+ end
1926
+
1927
+ module GenerateInstanceMethods
1928
+ attr_accessor :message
1929
+ def to_s
1930
+ "HongbaoGetUserChinaCouponsException: #{@message}"
1931
+ end
1932
+ alias_method :inspect, :to_s
1933
+
1934
+ end
1935
+
1936
+ module GenerateClassMethods
1937
+ def build(msg = nil)
1938
+ _internal_object = HongbaoGetUserChinaCouponsException.send(:new)
1939
+ _internal_object.message = msg
1940
+ return _internal_object
1941
+ end
1942
+
1943
+ end
1944
+
1945
+ end
1946
+
1947
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsException.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsExceptionSmartclientModule)
1948
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetUserChinaCouponsException.send(:private_class_method, :new)
1949
+
1950
+ module HongbaoGetCtaLinkRequestSmartclientModule
1951
+ def self.included(mod)
1952
+ mod.extend GenerateClassMethods
1953
+ mod.send :include, GenerateInstanceMethods
1954
+ end
1955
+
1956
+ module GenerateClassMethods
1957
+ # Class level accessors to turn on/off specific checking
1958
+ attr_accessor :type_checking_off
1959
+ attr_accessor :non_null_checking_off
1960
+
1961
+ def build(params = {})
1962
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkRequest.send(:new)
1963
+ return _internal_object if params.nil?
1964
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
1965
+ return _internal_object if params.empty?
1966
+
1967
+ user_agent = get_field_data(params, :user_agent, :userAgent, _internal_object.userAgent)
1968
+ _internal_object.userAgent = user_agent
1969
+ non_null_validator(:user_agent, user_agent) unless ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkRequest.non_null_checking_off
1970
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkRequest.type_checking_off
1971
+ return _internal_object
1972
+ end
1973
+
1974
+ private
1975
+
1976
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
1977
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
1978
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
1979
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
1980
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1981
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
1982
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
1983
+ return params[_json_override_name] if params.key?(_json_override_name)
1984
+ return default
1985
+ end
1986
+
1987
+ def non_null_validator(field_name, field)
1988
+ raise "#{field_name} should not be nil!" if field.nil?
1989
+ end
1990
+
1991
+ end
1992
+
1993
+ module GenerateInstanceMethods
1994
+ JSON_NAME_OVERRIDES = {
1995
+ }.freeze
1996
+
1997
+ def user_agent; @userAgent; end
1998
+
1999
+ def to_json(options = nil)
2000
+ JSON.generate(to_hash(options))
2001
+ end
2002
+
2003
+ # options:
2004
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
2005
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
2006
+ def to_hash(options = nil)
2007
+ res = {}
2008
+ options ||= {}
2009
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
2010
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
2011
+ if case_from_idl
2012
+ if !(ignore_nil_field && user_agent.nil?)
2013
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:userAgent) ? JSON_NAME_OVERRIDES[:userAgent] : :userAgent
2014
+ res[_json_key_name] = user_agent
2015
+ end
2016
+ else # enforcing to use snake case
2017
+ if !(ignore_nil_field && user_agent.nil?)
2018
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:userAgent) ? JSON_NAME_OVERRIDES[:userAgent] : :user_agent
2019
+ res[_json_key_name] = user_agent
2020
+ end
2021
+ end
2022
+ res
2023
+ end
2024
+
2025
+ alias_method :to_h, :to_hash
2026
+
2027
+ end
2028
+ end
2029
+
2030
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkRequest.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkRequestSmartclientModule)
2031
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkRequest.send(:private_class_method, :new)
2032
+
2033
+ module HongbaoGetCtaLinkResponseSmartclientModule
2034
+ def self.included(mod)
2035
+ mod.extend GenerateClassMethods
2036
+ mod.send :include, GenerateInstanceMethods
2037
+ end
2038
+
2039
+ module GenerateClassMethods
2040
+ # Class level accessors to turn on/off specific checking
2041
+ attr_accessor :type_checking_off
2042
+ attr_accessor :non_null_checking_off
2043
+
2044
+ def build(params = {})
2045
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkResponse.send(:new)
2046
+ return _internal_object if params.nil?
2047
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
2048
+ return _internal_object if params.empty?
2049
+
2050
+ terms_link = get_field_data(params, :terms_link, :termsLink, _internal_object.termsLink)
2051
+ _internal_object.termsLink = terms_link
2052
+ deeplink = get_field_data(params, :deeplink, :deeplink, _internal_object.deeplink)
2053
+ _internal_object.deeplink = deeplink
2054
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkResponse.type_checking_off
2055
+ return _internal_object
2056
+ end
2057
+
2058
+ private
2059
+
2060
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
2061
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
2062
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
2063
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
2064
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2065
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2066
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
2067
+ return params[_json_override_name] if params.key?(_json_override_name)
2068
+ return default
2069
+ end
2070
+
2071
+ def non_null_validator(field_name, field)
2072
+ raise "#{field_name} should not be nil!" if field.nil?
2073
+ end
2074
+
2075
+ end
2076
+
2077
+ module GenerateInstanceMethods
2078
+ JSON_NAME_OVERRIDES = {
2079
+ }.freeze
2080
+
2081
+ def terms_link; @termsLink; end
2082
+ def deeplink; @deeplink; end
2083
+
2084
+ def to_json(options = nil)
2085
+ JSON.generate(to_hash(options))
2086
+ end
2087
+
2088
+ # options:
2089
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
2090
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
2091
+ def to_hash(options = nil)
2092
+ res = {}
2093
+ options ||= {}
2094
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
2095
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
2096
+ if case_from_idl
2097
+ if !(ignore_nil_field && terms_link.nil?)
2098
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:termsLink) ? JSON_NAME_OVERRIDES[:termsLink] : :termsLink
2099
+ res[_json_key_name] = terms_link
2100
+ end
2101
+ if !(ignore_nil_field && deeplink.nil?)
2102
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:deeplink) ? JSON_NAME_OVERRIDES[:deeplink] : :deeplink
2103
+ res[_json_key_name] = deeplink
2104
+ end
2105
+ else # enforcing to use snake case
2106
+ if !(ignore_nil_field && terms_link.nil?)
2107
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:termsLink) ? JSON_NAME_OVERRIDES[:termsLink] : :terms_link
2108
+ res[_json_key_name] = terms_link
2109
+ end
2110
+ if !(ignore_nil_field && deeplink.nil?)
2111
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:deeplink) ? JSON_NAME_OVERRIDES[:deeplink] : :deeplink
2112
+ res[_json_key_name] = deeplink
2113
+ end
2114
+ end
2115
+ res
2116
+ end
2117
+
2118
+ alias_method :to_h, :to_hash
2119
+
2120
+ end
2121
+ end
2122
+
2123
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkResponse.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkResponseSmartclientModule)
2124
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkResponse.send(:private_class_method, :new)
2125
+
2126
+ module HongbaoGetCtaLinkExceptionSmartclientModule
2127
+ def self.included(mod)
2128
+ mod.extend GenerateClassMethods
2129
+ mod.send :include, GenerateInstanceMethods
2130
+ end
2131
+
2132
+ module GenerateInstanceMethods
2133
+ attr_accessor :message
2134
+ def to_s
2135
+ "HongbaoGetCtaLinkException: #{@message}"
2136
+ end
2137
+ alias_method :inspect, :to_s
2138
+
2139
+ end
2140
+
2141
+ module GenerateClassMethods
2142
+ def build(msg = nil)
2143
+ _internal_object = HongbaoGetCtaLinkException.send(:new)
2144
+ _internal_object.message = msg
2145
+ return _internal_object
2146
+ end
2147
+
2148
+ end
2149
+
2150
+ end
2151
+
2152
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkException.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkExceptionSmartclientModule)
2153
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetCtaLinkException.send(:private_class_method, :new)
2154
+
2155
+ module HongbaoGetCouponMessagesRequestSmartclientModule
2156
+ def self.included(mod)
2157
+ mod.extend GenerateClassMethods
2158
+ mod.send :include, GenerateInstanceMethods
2159
+ end
2160
+
2161
+ module GenerateClassMethods
2162
+ # Class level accessors to turn on/off specific checking
2163
+ attr_accessor :type_checking_off
2164
+ attr_accessor :non_null_checking_off
2165
+
2166
+ def build(params = {})
2167
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesRequest.send(:new)
2168
+ return _internal_object if params.nil?
2169
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
2170
+ return _internal_object if params.empty?
2171
+
2172
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesRequest.type_checking_off
2173
+ return _internal_object
2174
+ end
2175
+
2176
+ private
2177
+
2178
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
2179
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
2180
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
2181
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
2182
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2183
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2184
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
2185
+ return params[_json_override_name] if params.key?(_json_override_name)
2186
+ return default
2187
+ end
2188
+
2189
+ def non_null_validator(field_name, field)
2190
+ raise "#{field_name} should not be nil!" if field.nil?
2191
+ end
2192
+
2193
+ end
2194
+
2195
+ module GenerateInstanceMethods
2196
+ JSON_NAME_OVERRIDES = {
2197
+ }.freeze
2198
+
2199
+
2200
+ def to_json(options = nil)
2201
+ JSON.generate(to_hash(options))
2202
+ end
2203
+
2204
+ # options:
2205
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
2206
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
2207
+ def to_hash(options = nil)
2208
+ res = {}
2209
+ options ||= {}
2210
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
2211
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
2212
+ if case_from_idl
2213
+ else # enforcing to use snake case
2214
+ end
2215
+ res
2216
+ end
2217
+
2218
+ alias_method :to_h, :to_hash
2219
+
2220
+ end
2221
+ end
2222
+
2223
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesRequest.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesRequestSmartclientModule)
2224
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesRequest.send(:private_class_method, :new)
2225
+
2226
+ module HongbaoGetCouponMessagesResponseSmartclientModule
2227
+ def self.included(mod)
2228
+ mod.extend GenerateClassMethods
2229
+ mod.send :include, GenerateInstanceMethods
2230
+ end
2231
+
2232
+ module GenerateClassMethods
2233
+ # Class level accessors to turn on/off specific checking
2234
+ attr_accessor :type_checking_off
2235
+ attr_accessor :non_null_checking_off
2236
+
2237
+ def build(params = {})
2238
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesResponse.send(:new)
2239
+ return _internal_object if params.nil?
2240
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
2241
+ return _internal_object if params.empty?
2242
+
2243
+ state = get_field_data(params, :state, :state, _internal_object.state)
2244
+ _internal_object.state = state
2245
+ cta_link = get_field_data(params, :cta_link, :ctaLink, _internal_object.ctaLink)
2246
+ _internal_object.ctaLink = cta_link
2247
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesResponse.type_checking_off
2248
+ return _internal_object
2249
+ end
2250
+
2251
+ private
2252
+
2253
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
2254
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
2255
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
2256
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
2257
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2258
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2259
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
2260
+ return params[_json_override_name] if params.key?(_json_override_name)
2261
+ return default
2262
+ end
2263
+
2264
+ def non_null_validator(field_name, field)
2265
+ raise "#{field_name} should not be nil!" if field.nil?
2266
+ end
2267
+
2268
+ end
2269
+
2270
+ module GenerateInstanceMethods
2271
+ JSON_NAME_OVERRIDES = {
2272
+ }.freeze
2273
+
2274
+ def state; @state; end
2275
+ def cta_link; @ctaLink; end
2276
+
2277
+ def to_json(options = nil)
2278
+ JSON.generate(to_hash(options))
2279
+ end
2280
+
2281
+ # options:
2282
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
2283
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
2284
+ def to_hash(options = nil)
2285
+ res = {}
2286
+ options ||= {}
2287
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
2288
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
2289
+ if case_from_idl
2290
+ if !(ignore_nil_field && state.nil?)
2291
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:state) ? JSON_NAME_OVERRIDES[:state] : :state
2292
+ res[_json_key_name] = state
2293
+ end
2294
+ if !(ignore_nil_field && cta_link.nil?)
2295
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:ctaLink) ? JSON_NAME_OVERRIDES[:ctaLink] : :ctaLink
2296
+ res[_json_key_name] = cta_link
2297
+ end
2298
+ else # enforcing to use snake case
2299
+ if !(ignore_nil_field && state.nil?)
2300
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:state) ? JSON_NAME_OVERRIDES[:state] : :state
2301
+ res[_json_key_name] = state
2302
+ end
2303
+ if !(ignore_nil_field && cta_link.nil?)
2304
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:ctaLink) ? JSON_NAME_OVERRIDES[:ctaLink] : :cta_link
2305
+ res[_json_key_name] = cta_link
2306
+ end
2307
+ end
2308
+ res
2309
+ end
2310
+
2311
+ alias_method :to_h, :to_hash
2312
+
2313
+ end
2314
+ end
2315
+
2316
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesResponse.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesResponseSmartclientModule)
2317
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesResponse.send(:private_class_method, :new)
2318
+
2319
+ module HongbaoGetCouponMessagesExceptionSmartclientModule
2320
+ def self.included(mod)
2321
+ mod.extend GenerateClassMethods
2322
+ mod.send :include, GenerateInstanceMethods
2323
+ end
2324
+
2325
+ module GenerateInstanceMethods
2326
+ attr_accessor :message
2327
+ def to_s
2328
+ "HongbaoGetCouponMessagesException: #{@message}"
2329
+ end
2330
+ alias_method :inspect, :to_s
2331
+
2332
+ end
2333
+
2334
+ module GenerateClassMethods
2335
+ def build(msg = nil)
2336
+ _internal_object = HongbaoGetCouponMessagesException.send(:new)
2337
+ _internal_object.message = msg
2338
+ return _internal_object
2339
+ end
2340
+
2341
+ end
2342
+
2343
+ end
2344
+
2345
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesException.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesExceptionSmartclientModule)
2346
+ ::Airbnb::Service::Hongbao::Api::HongbaoGetCouponMessagesException.send(:private_class_method, :new)
2347
+
2348
+ module HongbaoCanClaimInAppRequestSmartclientModule
2349
+ def self.included(mod)
2350
+ mod.extend GenerateClassMethods
2351
+ mod.send :include, GenerateInstanceMethods
2352
+ end
2353
+
2354
+ module GenerateClassMethods
2355
+ # Class level accessors to turn on/off specific checking
2356
+ attr_accessor :type_checking_off
2357
+ attr_accessor :non_null_checking_off
2358
+
2359
+ def build(params = {})
2360
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppRequest.send(:new)
2361
+ return _internal_object if params.nil?
2362
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
2363
+ return _internal_object if params.empty?
2364
+
2365
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppRequest.type_checking_off
2366
+ return _internal_object
2367
+ end
2368
+
2369
+ private
2370
+
2371
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
2372
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
2373
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
2374
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
2375
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2376
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2377
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
2378
+ return params[_json_override_name] if params.key?(_json_override_name)
2379
+ return default
2380
+ end
2381
+
2382
+ def non_null_validator(field_name, field)
2383
+ raise "#{field_name} should not be nil!" if field.nil?
2384
+ end
2385
+
2386
+ end
2387
+
2388
+ module GenerateInstanceMethods
2389
+ JSON_NAME_OVERRIDES = {
2390
+ }.freeze
2391
+
2392
+
2393
+ def to_json(options = nil)
2394
+ JSON.generate(to_hash(options))
2395
+ end
2396
+
2397
+ # options:
2398
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
2399
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
2400
+ def to_hash(options = nil)
2401
+ res = {}
2402
+ options ||= {}
2403
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
2404
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
2405
+ if case_from_idl
2406
+ else # enforcing to use snake case
2407
+ end
2408
+ res
2409
+ end
2410
+
2411
+ alias_method :to_h, :to_hash
2412
+
2413
+ end
2414
+ end
2415
+
2416
+ ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppRequest.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppRequestSmartclientModule)
2417
+ ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppRequest.send(:private_class_method, :new)
2418
+
2419
+ module HongbaoCanClaimInAppResponseSmartclientModule
2420
+ def self.included(mod)
2421
+ mod.extend GenerateClassMethods
2422
+ mod.send :include, GenerateInstanceMethods
2423
+ end
2424
+
2425
+ module GenerateClassMethods
2426
+ # Class level accessors to turn on/off specific checking
2427
+ attr_accessor :type_checking_off
2428
+ attr_accessor :non_null_checking_off
2429
+
2430
+ def build(params = {})
2431
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppResponse.send(:new)
2432
+ return _internal_object if params.nil?
2433
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
2434
+ return _internal_object if params.empty?
2435
+
2436
+ can_claim = get_field_data(params, :can_claim, :canClaim, _internal_object.canClaim)
2437
+ _internal_object.canClaim = can_claim
2438
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppResponse.type_checking_off
2439
+ return _internal_object
2440
+ end
2441
+
2442
+ private
2443
+
2444
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
2445
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
2446
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
2447
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
2448
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2449
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2450
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
2451
+ return params[_json_override_name] if params.key?(_json_override_name)
2452
+ return default
2453
+ end
2454
+
2455
+ def non_null_validator(field_name, field)
2456
+ raise "#{field_name} should not be nil!" if field.nil?
2457
+ end
2458
+
2459
+ end
2460
+
2461
+ module GenerateInstanceMethods
2462
+ JSON_NAME_OVERRIDES = {
2463
+ }.freeze
2464
+
2465
+ def can_claim; @canClaim; end
2466
+
2467
+ def to_json(options = nil)
2468
+ JSON.generate(to_hash(options))
2469
+ end
2470
+
2471
+ # options:
2472
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
2473
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
2474
+ def to_hash(options = nil)
2475
+ res = {}
2476
+ options ||= {}
2477
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
2478
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
2479
+ if case_from_idl
2480
+ if !(ignore_nil_field && can_claim.nil?)
2481
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:canClaim) ? JSON_NAME_OVERRIDES[:canClaim] : :canClaim
2482
+ res[_json_key_name] = can_claim
2483
+ end
2484
+ else # enforcing to use snake case
2485
+ if !(ignore_nil_field && can_claim.nil?)
2486
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:canClaim) ? JSON_NAME_OVERRIDES[:canClaim] : :can_claim
2487
+ res[_json_key_name] = can_claim
2488
+ end
2489
+ end
2490
+ res
2491
+ end
2492
+
2493
+ alias_method :to_h, :to_hash
2494
+
2495
+ end
2496
+ end
2497
+
2498
+ ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppResponse.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppResponseSmartclientModule)
2499
+ ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppResponse.send(:private_class_method, :new)
2500
+
2501
+ module HongbaoCanClaimInAppExceptionSmartclientModule
2502
+ def self.included(mod)
2503
+ mod.extend GenerateClassMethods
2504
+ mod.send :include, GenerateInstanceMethods
2505
+ end
2506
+
2507
+ module GenerateInstanceMethods
2508
+ attr_accessor :message
2509
+ def to_s
2510
+ "HongbaoCanClaimInAppException: #{@message}"
2511
+ end
2512
+ alias_method :inspect, :to_s
2513
+
2514
+ end
2515
+
2516
+ module GenerateClassMethods
2517
+ def build(msg = nil)
2518
+ _internal_object = HongbaoCanClaimInAppException.send(:new)
2519
+ _internal_object.message = msg
2520
+ return _internal_object
2521
+ end
2522
+
2523
+ end
2524
+
2525
+ end
2526
+
2527
+ ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppException.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppExceptionSmartclientModule)
2528
+ ::Airbnb::Service::Hongbao::Api::HongbaoCanClaimInAppException.send(:private_class_method, :new)
2529
+
2530
+ module HongbaoReferralStatusRequestSmartclientModule
2531
+ def self.included(mod)
2532
+ mod.extend GenerateClassMethods
2533
+ mod.send :include, GenerateInstanceMethods
2534
+ end
2535
+
2536
+ module GenerateClassMethods
2537
+ # Class level accessors to turn on/off specific checking
2538
+ attr_accessor :type_checking_off
2539
+ attr_accessor :non_null_checking_off
2540
+
2541
+ def build(params = {})
2542
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusRequest.send(:new)
2543
+ return _internal_object if params.nil?
2544
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
2545
+ return _internal_object if params.empty?
2546
+
2547
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusRequest.type_checking_off
2548
+ return _internal_object
2549
+ end
2550
+
2551
+ private
2552
+
2553
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
2554
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
2555
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
2556
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
2557
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2558
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2559
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
2560
+ return params[_json_override_name] if params.key?(_json_override_name)
2561
+ return default
2562
+ end
2563
+
2564
+ def non_null_validator(field_name, field)
2565
+ raise "#{field_name} should not be nil!" if field.nil?
2566
+ end
2567
+
2568
+ end
2569
+
2570
+ module GenerateInstanceMethods
2571
+ JSON_NAME_OVERRIDES = {
2572
+ }.freeze
2573
+
2574
+
2575
+ def to_json(options = nil)
2576
+ JSON.generate(to_hash(options))
2577
+ end
2578
+
2579
+ # options:
2580
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
2581
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
2582
+ def to_hash(options = nil)
2583
+ res = {}
2584
+ options ||= {}
2585
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
2586
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
2587
+ if case_from_idl
2588
+ else # enforcing to use snake case
2589
+ end
2590
+ res
2591
+ end
2592
+
2593
+ alias_method :to_h, :to_hash
2594
+
2595
+ end
2596
+ end
2597
+
2598
+ ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusRequest.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusRequestSmartclientModule)
2599
+ ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusRequest.send(:private_class_method, :new)
2600
+
2601
+ module HongbaoReferralStatusResponseSmartclientModule
2602
+ def self.included(mod)
2603
+ mod.extend GenerateClassMethods
2604
+ mod.send :include, GenerateInstanceMethods
2605
+ end
2606
+
2607
+ module GenerateClassMethods
2608
+ # Class level accessors to turn on/off specific checking
2609
+ attr_accessor :type_checking_off
2610
+ attr_accessor :non_null_checking_off
2611
+
2612
+ def build(params = {})
2613
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusResponse.send(:new)
2614
+ return _internal_object if params.nil?
2615
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
2616
+ return _internal_object if params.empty?
2617
+
2618
+ link = get_field_data(params, :link, :link, _internal_object.link)
2619
+ _internal_object.link = link
2620
+ wechat_link = get_field_data(params, :wechat_link, :wechatLink, _internal_object.wechatLink)
2621
+ _internal_object.wechatLink = wechat_link
2622
+ offer_min_trip = get_field_data(params, :offer_min_trip, :offerMinTrip, _internal_object.offerMinTrip)
2623
+ _internal_object.offerMinTrip = offer_min_trip
2624
+ offer_receiver_credit = get_field_data(params, :offer_receiver_credit, :offerReceiverCredit, _internal_object.offerReceiverCredit)
2625
+ _internal_object.offerReceiverCredit = offer_receiver_credit
2626
+ offer_sender_credit = get_field_data(params, :offer_sender_credit, :offerSenderCredit, _internal_object.offerSenderCredit)
2627
+ _internal_object.offerSenderCredit = offer_sender_credit
2628
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusResponse.type_checking_off
2629
+ return _internal_object
2630
+ end
2631
+
2632
+ private
2633
+
2634
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
2635
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
2636
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
2637
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
2638
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2639
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2640
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
2641
+ return params[_json_override_name] if params.key?(_json_override_name)
2642
+ return default
2643
+ end
2644
+
2645
+ def non_null_validator(field_name, field)
2646
+ raise "#{field_name} should not be nil!" if field.nil?
2647
+ end
2648
+
2649
+ end
2650
+
2651
+ module GenerateInstanceMethods
2652
+ JSON_NAME_OVERRIDES = {
2653
+ }.freeze
2654
+
2655
+ def link; @link; end
2656
+ def wechat_link; @wechatLink; end
2657
+ def offer_min_trip; @offerMinTrip; end
2658
+ def offer_receiver_credit; @offerReceiverCredit; end
2659
+ def offer_sender_credit; @offerSenderCredit; end
2660
+
2661
+ def to_json(options = nil)
2662
+ JSON.generate(to_hash(options))
2663
+ end
2664
+
2665
+ # options:
2666
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
2667
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
2668
+ def to_hash(options = nil)
2669
+ res = {}
2670
+ options ||= {}
2671
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
2672
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
2673
+ if case_from_idl
2674
+ if !(ignore_nil_field && link.nil?)
2675
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:link) ? JSON_NAME_OVERRIDES[:link] : :link
2676
+ res[_json_key_name] = link
2677
+ end
2678
+ if !(ignore_nil_field && wechat_link.nil?)
2679
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:wechatLink) ? JSON_NAME_OVERRIDES[:wechatLink] : :wechatLink
2680
+ res[_json_key_name] = wechat_link
2681
+ end
2682
+ if !(ignore_nil_field && offer_min_trip.nil?)
2683
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:offerMinTrip) ? JSON_NAME_OVERRIDES[:offerMinTrip] : :offerMinTrip
2684
+ res[_json_key_name] = offer_min_trip
2685
+ end
2686
+ if !(ignore_nil_field && offer_receiver_credit.nil?)
2687
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:offerReceiverCredit) ? JSON_NAME_OVERRIDES[:offerReceiverCredit] : :offerReceiverCredit
2688
+ res[_json_key_name] = offer_receiver_credit
2689
+ end
2690
+ if !(ignore_nil_field && offer_sender_credit.nil?)
2691
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:offerSenderCredit) ? JSON_NAME_OVERRIDES[:offerSenderCredit] : :offerSenderCredit
2692
+ res[_json_key_name] = offer_sender_credit
2693
+ end
2694
+ else # enforcing to use snake case
2695
+ if !(ignore_nil_field && link.nil?)
2696
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:link) ? JSON_NAME_OVERRIDES[:link] : :link
2697
+ res[_json_key_name] = link
2698
+ end
2699
+ if !(ignore_nil_field && wechat_link.nil?)
2700
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:wechatLink) ? JSON_NAME_OVERRIDES[:wechatLink] : :wechat_link
2701
+ res[_json_key_name] = wechat_link
2702
+ end
2703
+ if !(ignore_nil_field && offer_min_trip.nil?)
2704
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:offerMinTrip) ? JSON_NAME_OVERRIDES[:offerMinTrip] : :offer_min_trip
2705
+ res[_json_key_name] = offer_min_trip
2706
+ end
2707
+ if !(ignore_nil_field && offer_receiver_credit.nil?)
2708
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:offerReceiverCredit) ? JSON_NAME_OVERRIDES[:offerReceiverCredit] : :offer_receiver_credit
2709
+ res[_json_key_name] = offer_receiver_credit
2710
+ end
2711
+ if !(ignore_nil_field && offer_sender_credit.nil?)
2712
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:offerSenderCredit) ? JSON_NAME_OVERRIDES[:offerSenderCredit] : :offer_sender_credit
2713
+ res[_json_key_name] = offer_sender_credit
2714
+ end
2715
+ end
2716
+ res
2717
+ end
2718
+
2719
+ alias_method :to_h, :to_hash
2720
+
2721
+ end
2722
+ end
2723
+
2724
+ ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusResponse.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusResponseSmartclientModule)
2725
+ ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusResponse.send(:private_class_method, :new)
2726
+
2727
+ module HongbaoReferralStatusExceptionSmartclientModule
2728
+ def self.included(mod)
2729
+ mod.extend GenerateClassMethods
2730
+ mod.send :include, GenerateInstanceMethods
2731
+ end
2732
+
2733
+ module GenerateInstanceMethods
2734
+ attr_accessor :message
2735
+ def to_s
2736
+ "HongbaoReferralStatusException: #{@message}"
2737
+ end
2738
+ alias_method :inspect, :to_s
2739
+
2740
+ end
2741
+
2742
+ module GenerateClassMethods
2743
+ def build(msg = nil)
2744
+ _internal_object = HongbaoReferralStatusException.send(:new)
2745
+ _internal_object.message = msg
2746
+ return _internal_object
2747
+ end
2748
+
2749
+ end
2750
+
2751
+ end
2752
+
2753
+ ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusException.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusExceptionSmartclientModule)
2754
+ ::Airbnb::Service::Hongbao::Api::HongbaoReferralStatusException.send(:private_class_method, :new)
2755
+
2756
+ module HongbaoCampaignTextDataRequestSmartclientModule
2757
+ def self.included(mod)
2758
+ mod.extend GenerateClassMethods
2759
+ mod.send :include, GenerateInstanceMethods
2760
+ end
2761
+
2762
+ module GenerateClassMethods
2763
+ # Class level accessors to turn on/off specific checking
2764
+ attr_accessor :type_checking_off
2765
+ attr_accessor :non_null_checking_off
2766
+
2767
+ def build(params = {})
2768
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataRequest.send(:new)
2769
+ return _internal_object if params.nil?
2770
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
2771
+ return _internal_object if params.empty?
2772
+
2773
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataRequest.type_checking_off
2774
+ return _internal_object
2775
+ end
2776
+
2777
+ private
2778
+
2779
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
2780
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
2781
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
2782
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
2783
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2784
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2785
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
2786
+ return params[_json_override_name] if params.key?(_json_override_name)
2787
+ return default
2788
+ end
2789
+
2790
+ def non_null_validator(field_name, field)
2791
+ raise "#{field_name} should not be nil!" if field.nil?
2792
+ end
2793
+
2794
+ end
2795
+
2796
+ module GenerateInstanceMethods
2797
+ JSON_NAME_OVERRIDES = {
2798
+ }.freeze
2799
+
2800
+
2801
+ def to_json(options = nil)
2802
+ JSON.generate(to_hash(options))
2803
+ end
2804
+
2805
+ # options:
2806
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
2807
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
2808
+ def to_hash(options = nil)
2809
+ res = {}
2810
+ options ||= {}
2811
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
2812
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
2813
+ if case_from_idl
2814
+ else # enforcing to use snake case
2815
+ end
2816
+ res
2817
+ end
2818
+
2819
+ alias_method :to_h, :to_hash
2820
+
2821
+ end
2822
+ end
2823
+
2824
+ ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataRequest.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataRequestSmartclientModule)
2825
+ ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataRequest.send(:private_class_method, :new)
2826
+
2827
+ module HongbaoCampaignTextDataResponseSmartclientModule
2828
+ def self.included(mod)
2829
+ mod.extend GenerateClassMethods
2830
+ mod.send :include, GenerateInstanceMethods
2831
+ end
2832
+
2833
+ module GenerateClassMethods
2834
+ # Class level accessors to turn on/off specific checking
2835
+ attr_accessor :type_checking_off
2836
+ attr_accessor :non_null_checking_off
2837
+
2838
+ def build(params = {})
2839
+ _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataResponse.send(:new)
2840
+ return _internal_object if params.nil?
2841
+ raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash)
2842
+ return _internal_object if params.empty?
2843
+
2844
+ claim_buton = get_field_data(params, :claim_buton, :claimButon, _internal_object.claimButon)
2845
+ _internal_object.claimButon = claim_buton
2846
+ _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataResponse.type_checking_off
2847
+ return _internal_object
2848
+ end
2849
+
2850
+ private
2851
+
2852
+ def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
2853
+ return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case
2854
+ return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn
2855
+ return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil?
2856
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2857
+ return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil?
2858
+ _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol]
2859
+ return params[_json_override_name] if params.key?(_json_override_name)
2860
+ return default
2861
+ end
2862
+
2863
+ def non_null_validator(field_name, field)
2864
+ raise "#{field_name} should not be nil!" if field.nil?
2865
+ end
2866
+
2867
+ end
2868
+
2869
+ module GenerateInstanceMethods
2870
+ JSON_NAME_OVERRIDES = {
2871
+ }.freeze
2872
+
2873
+ def claim_buton; @claimButon; end
2874
+
2875
+ def to_json(options = nil)
2876
+ JSON.generate(to_hash(options))
2877
+ end
2878
+
2879
+ # options:
2880
+ # case_from_idl: use the exact case from IDL file to when generating the hash key. Default is false.
2881
+ # ignore_nil_field: do not generate key in the hash, if the value is nil. Useful for inspect or data transport. Default is false.
2882
+ def to_hash(options = nil)
2883
+ res = {}
2884
+ options ||= {}
2885
+ case_from_idl = options.nil? ? false : options[:case_from_idl]
2886
+ ignore_nil_field = options.nil? ? false : options[:ignore_nil_field]
2887
+ if case_from_idl
2888
+ if !(ignore_nil_field && claim_buton.nil?)
2889
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:claimButon) ? JSON_NAME_OVERRIDES[:claimButon] : :claimButon
2890
+ res[_json_key_name] = claim_buton
2891
+ end
2892
+ else # enforcing to use snake case
2893
+ if !(ignore_nil_field && claim_buton.nil?)
2894
+ _json_key_name = JSON_NAME_OVERRIDES.key?(:claimButon) ? JSON_NAME_OVERRIDES[:claimButon] : :claim_buton
2895
+ res[_json_key_name] = claim_buton
2896
+ end
2897
+ end
2898
+ res
2899
+ end
2900
+
2901
+ alias_method :to_h, :to_hash
2902
+
2903
+ end
2904
+ end
2905
+
2906
+ ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataResponse.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataResponseSmartclientModule)
2907
+ ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataResponse.send(:private_class_method, :new)
2908
+
2909
+ module HongbaoCampaignTextDataExceptionSmartclientModule
2910
+ def self.included(mod)
2911
+ mod.extend GenerateClassMethods
2912
+ mod.send :include, GenerateInstanceMethods
2913
+ end
2914
+
2915
+ module GenerateInstanceMethods
2916
+ attr_accessor :message
2917
+ def to_s
2918
+ "HongbaoCampaignTextDataException: #{@message}"
2919
+ end
2920
+ alias_method :inspect, :to_s
2921
+
2922
+ end
2923
+
2924
+ module GenerateClassMethods
2925
+ def build(msg = nil)
2926
+ _internal_object = HongbaoCampaignTextDataException.send(:new)
2927
+ _internal_object.message = msg
2928
+ return _internal_object
2929
+ end
2930
+
2931
+ end
2932
+
2933
+ end
2934
+
2935
+ ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataException.send(:include, ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataExceptionSmartclientModule)
2936
+ ::Airbnb::Service::Hongbao::Api::HongbaoCampaignTextDataException.send(:private_class_method, :new)
2937
+
2938
+ end
2939
+ end
2940
+ end
2941
+ end