module Airbnb::Service::Hongbao::Api::HongbaoCouponDataResponseSmartclientModule::GenerateClassMethods
Attributes
non_null_checking_off[RW]
type_checking_off[RW]
Class level accessors to turn on/off specific checking
Public Instance Methods
build(params = {})
click to toggle source
# File lib/airbnb/service/hongbao/api/hongbao_data_smartclient_modules.rb, line 930 def build(params = {}) _internal_object = ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataResponse.send(:new) return _internal_object if params.nil? raise TypeError.new("Expect a Hash for params in initialize, while it is #{params.class}") unless params.is_a?(Hash) return _internal_object if params.empty? code = get_field_data(params, :code, :code, _internal_object.code) _internal_object.code = code currency = get_field_data(params, :currency, :currency, _internal_object.currency) _internal_object.currency = currency expires_after = get_field_data(params, :expires_after, :expiresAfter, _internal_object.expiresAfter) _internal_object.expiresAfter = expires_after formatted_localized_amount = get_field_data(params, :formatted_localized_amount, :formattedLocalizedAmount, _internal_object.formattedLocalizedAmount) _internal_object.formattedLocalizedAmount = formatted_localized_amount formatted_localized_min_trip_cost = get_field_data(params, :formatted_localized_min_trip_cost, :formattedLocalizedMinTripCost, _internal_object.formattedLocalizedMinTripCost) _internal_object.formattedLocalizedMinTripCost = formatted_localized_min_trip_cost max_savings_usd = get_field_data(params, :max_savings_usd, :maxSavingsUsd, _internal_object.maxSavingsUsd) _internal_object.maxSavingsUsd = max_savings_usd min_trip_cost = get_field_data(params, :min_trip_cost, :minTripCost, _internal_object.minTripCost) _internal_object.minTripCost = min_trip_cost savings_amount = get_field_data(params, :savings_amount, :savingsAmount, _internal_object.savingsAmount) _internal_object.savingsAmount = savings_amount savings_percent = get_field_data(params, :savings_percent, :savingsPercent, _internal_object.savingsPercent) _internal_object.savingsPercent = savings_percent is_active = get_field_data(params, :is_active, :isActive, _internal_object.isActive) _internal_object.isActive = is_active id = get_field_data(params, :id, :id, _internal_object.id) _internal_object.id = id _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::HongbaoCouponDataResponse.type_checking_off return _internal_object end
Private Instance Methods
get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default)
click to toggle source
# File lib/airbnb/service/hongbao/api/hongbao_data_smartclient_modules.rb, line 964 def get_field_data(params, field_snake_case_symbol, field_camel_case_symbol, default) return params[field_snake_case_symbol] unless params[field_snake_case_symbol].nil? # recommend use case return params[field_camel_case_symbol.to_s] unless params[field_camel_case_symbol.to_s].nil? # used by response from thrawn return params[field_snake_case_symbol.to_s] unless params[field_snake_case_symbol.to_s].nil? return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil? return params[field_camel_case_symbol] unless params[field_camel_case_symbol].nil? _json_override_name = const_get(:JSON_NAME_OVERRIDES)[field_camel_case_symbol] || const_get(:JSON_NAME_OVERRIDES)[field_snake_case_symbol] return params[_json_override_name] if params.key?(_json_override_name) return default end
non_null_validator(field_name, field)
click to toggle source
# File lib/airbnb/service/hongbao/api/hongbao_data_smartclient_modules.rb, line 975 def non_null_validator(field_name, field) raise "#{field_name} should not be nil!" if field.nil? end