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.



24028
24029
24030
24031
24032
24033
24034
24035
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24028

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.



24026
24027
24028
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24026

def email_recipients
  @email_recipients
end

#scheduleObject (readonly)

Returns the value of attribute schedule.



24026
24027
24028
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24026

def schedule
  @schedule
end

#timezoneObject (readonly)

Returns the value of attribute timezone.



24026
24027
24028
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24026

def timezone
  @timezone
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



24041
24042
24043
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24041

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

#subtype_to_hashObject



24045
24046
24047
24048
24049
24050
24051
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24045

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

#to_jsonObject



24037
24038
24039
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 24037

def to_json
  JSON.dump(to_hash)
end