class Io::Flow::Reference::V0::Models::Country

ISO 3166 country codes. Note Flow APIs will accept either the 2 or 3 character country code, but internally we normalize data and store as the 3 character, upper case ISO code. See api.flow.io/reference/countries

Attributes

default_currency[R]
default_delivered_duty[R]
default_language[R]
iso_3166_2[R]
iso_3166_3[R]
languages[R]
measurement_system[R]
name[R]
timezones[R]

Public Class Methods

new(incoming={}) click to toggle source
# File lib/flow_reference_v0_client.rb, line 477
def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:name, :iso_3166_2, :iso_3166_3, :languages, :measurement_system, :timezones], 'Country')
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
  @iso_3166_2 = HttpClient::Preconditions.assert_class('iso_3166_2', opts.delete(:iso_3166_2), String)
  @iso_3166_3 = HttpClient::Preconditions.assert_class('iso_3166_3', opts.delete(:iso_3166_3), String)
  @languages = HttpClient::Preconditions.assert_class('languages', opts.delete(:languages), Array).map { |v| HttpClient::Preconditions.assert_class('languages', v, String) }
  @measurement_system = HttpClient::Preconditions.assert_class('measurement_system', opts.delete(:measurement_system), String)
  @default_currency = (x = opts.delete(:default_currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('default_currency', x, String))
  @default_language = (x = opts.delete(:default_language); x.nil? ? nil : HttpClient::Preconditions.assert_class('default_language', x, String))
  @timezones = HttpClient::Preconditions.assert_class('timezones', opts.delete(:timezones), Array).map { |v| HttpClient::Preconditions.assert_class('timezones', v, String) }
  @default_delivered_duty = (x = opts.delete(:default_delivered_duty); x.nil? ? nil : HttpClient::Preconditions.assert_class('default_delivered_duty', x, String))
end

Public Instance Methods

copy(incoming={}) click to toggle source
# File lib/flow_reference_v0_client.rb, line 495
def copy(incoming={})
  Country.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end
locales() click to toggle source
# File lib/flowcommerce-reference.rb, line 113
def locales
  list = 'country_%s' % @iso_3166_3.downcase
  ref  = ::FlowCommerce::Reference::Locales::Data
  ref.respond_to?(list) ? ref.send(list) : nil
end
to_hash() click to toggle source
# File lib/flow_reference_v0_client.rb, line 499
def to_hash
  {
    :name => name,
    :iso_3166_2 => iso_3166_2,
    :iso_3166_3 => iso_3166_3,
    :languages => languages,
    :measurement_system => measurement_system,
    :default_currency => default_currency,
    :default_language => default_language,
    :timezones => timezones,
    :default_delivered_duty => default_delivered_duty
  }
end
to_json() click to toggle source
# File lib/flow_reference_v0_client.rb, line 491
def to_json
  JSON.dump(to_hash)
end