module Airbnb::Service::Hongbao::Api::CampaignDataSmartclientModule::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 1151 def build(params = {}) _internal_object = ::Airbnb::Service::Hongbao::Api::CampaignData.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? campaign_is_active = get_field_data(params, :campaign_is_active, :campaignIsActive, _internal_object.campaignIsActive) _internal_object.campaignIsActive = campaign_is_active campaign_name = get_field_data(params, :campaign_name, :campaignName, _internal_object.campaignName) _internal_object.campaignName = campaign_name campaign_terms_and_conditions_url = get_field_data(params, :campaign_terms_and_conditions_url, :campaignTermsAndConditionsUrl, _internal_object.campaignTermsAndConditionsUrl) _internal_object.campaignTermsAndConditionsUrl = campaign_terms_and_conditions_url coupon_amount = get_field_data(params, :coupon_amount, :couponAmount, _internal_object.couponAmount) _internal_object.couponAmount = coupon_amount coupon_max_savings = get_field_data(params, :coupon_max_savings, :couponMaxSavings, _internal_object.couponMaxSavings) _internal_object.couponMaxSavings = coupon_max_savings coupon_min_cost = get_field_data(params, :coupon_min_cost, :couponMinCost, _internal_object.couponMinCost) _internal_object.couponMinCost = coupon_min_cost coupon_percent = get_field_data(params, :coupon_percent, :couponPercent, _internal_object.couponPercent) _internal_object.couponPercent = coupon_percent coupon_code_prefix = get_field_data(params, :coupon_code_prefix, :couponCodePrefix, _internal_object.couponCodePrefix) _internal_object.couponCodePrefix = coupon_code_prefix coupon_expires_after = get_field_data(params, :coupon_expires_after, :couponExpiresAfter, _internal_object.couponExpiresAfter) _internal_object.couponExpiresAfter = coupon_expires_after coupon_max_start_date = get_field_data(params, :coupon_max_start_date, :couponMaxStartDate, _internal_object.couponMaxStartDate) _internal_object.couponMaxStartDate = coupon_max_start_date coupon_native_currency = get_field_data(params, :coupon_native_currency, :couponNativeCurrency, _internal_object.couponNativeCurrency) _internal_object.couponNativeCurrency = coupon_native_currency coupon_series_label = get_field_data(params, :coupon_series_label, :couponSeriesLabel, _internal_object.couponSeriesLabel) _internal_object.couponSeriesLabel = coupon_series_label coupon_small_screen_claim_redis_key = get_field_data(params, :coupon_small_screen_claim_redis_key, :couponSmallScreenClaimRedisKey, _internal_object.couponSmallScreenClaimRedisKey) _internal_object.couponSmallScreenClaimRedisKey = coupon_small_screen_claim_redis_key _internal_object.validate(Sparsam::STRICT) unless ::Airbnb::Service::Hongbao::Api::CampaignData.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 1189 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 1200 def non_null_validator(field_name, field) raise "#{field_name} should not be nil!" if field.nil? end