class Oshpark::Address

Constants

REQUIRED_ARGS

Public Class Methods

attrs() click to toggle source
# File lib/oshpark/address.rb, line 4
def self.attrs
  %w| name company_name address_line_1 address_line_2 city state zip_or_postal_code country phone_number is_business |
end
new(args={}) click to toggle source
# File lib/oshpark/address.rb, line 12
def initialize args={}
  clean_json args do |json|
    check_args json
    reload_with json
  end
end

Public Instance Methods

available_shipping_rates() click to toggle source
# File lib/oshpark/address.rb, line 27
def available_shipping_rates
  ShippingRate.rates_for_address self
end
to_h() click to toggle source
# File lib/oshpark/address.rb, line 19
def to_h
  {}.tap do |hash|
    Address.attrs.each do |a|
      hash[a] = public_send a
    end
  end
end

Private Instance Methods

check_args(args) click to toggle source
# File lib/oshpark/address.rb, line 33
def check_args args
  unless (args.keys.map(&:to_s) & REQUIRED_ARGS) == REQUIRED_ARGS
    raise ArgumentError, "Missing required arguments #{(REQUIRED_ARGS - args.keys).join(' ')}"
  end
  args
end