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.



23661
23662
23663
23664
23665
23666
23667
23668
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23661

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.



23659
23660
23661
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23659

def email_recipients
  @email_recipients
end

#scheduleObject (readonly)

Returns the value of attribute schedule.



23659
23660
23661
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23659

def schedule
  @schedule
end

#timezoneObject (readonly)

Returns the value of attribute timezone.



23659
23660
23661
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23659

def timezone
  @timezone
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



23674
23675
23676
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23674

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

#subtype_to_hashObject



23678
23679
23680
23681
23682
23683
23684
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23678

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

#to_jsonObject



23670
23671
23672
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23670

def to_json
  JSON.dump(to_hash)
end