Class: Io::Flow::V0::Models::AvalaraTaxCsvSetting

Inherits:
TaxSetting
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Instance Attribute Summary collapse

Attributes inherited from TaxSetting

#discriminator

Instance Method Summary collapse

Methods inherited from TaxSetting

from_json, #to_hash

Constructor Details

#initialize(incoming = {}) ⇒ AvalaraTaxCsvSetting

Returns a new instance of AvalaraTaxCsvSetting.



22246
22247
22248
22249
22250
22251
22252
22253
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22246

def initialize(incoming={})
  super(:discriminator => TaxSetting::Types::AVALARA_TAX_CSV_SETTING)
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:schedule, :timezone], 'AvalaraTaxCsvSetting')
  @schedule = (x = opts.delete(:schedule); x.is_a?(::Io::Flow::V0::Models::RepeatSchedule) ? x : ::Io::Flow::V0::Models::RepeatSchedule.from_json(x))
  @timezone = HttpClient::Preconditions.assert_class('timezone', opts.delete(:timezone), String)
  @email_recipients = (x = opts.delete(:email_recipients); x.nil? ? nil : HttpClient::Preconditions.assert_class('email_recipients', x, Array).map { |v| HttpClient::Preconditions.assert_class('email_recipients', v, String) })
end

Instance Attribute Details

#email_recipientsObject (readonly)

Returns the value of attribute email_recipients.



22244
22245
22246
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22244

def email_recipients
  @email_recipients
end

#scheduleObject (readonly)

Returns the value of attribute schedule.



22244
22245
22246
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22244

def schedule
  @schedule
end

#timezoneObject (readonly)

Returns the value of attribute timezone.



22244
22245
22246
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22244

def timezone
  @timezone
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



22259
22260
22261
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22259

def copy(incoming={})
  AvalaraTaxCsvSetting.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end

#subtype_to_hashObject



22263
22264
22265
22266
22267
22268
22269
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22263

def subtype_to_hash
  {
    :schedule => schedule.to_hash,
    :timezone => timezone,
    :email_recipients => email_recipients.nil? ? nil : email_recipients
  }
end

#to_jsonObject



22255
22256
22257
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22255

def to_json
  JSON.dump(to_hash)
end