class Sellsy::Address

Attributes

address[RW]
country[RW]
id[RW]
linkedid[RW]
linkedtype[RW]
name[RW]
postal_code[RW]
town[RW]

Public Class Methods

all() click to toggle source
# File lib/sellsy/address.rb, line 45
def self.all
  command = {
      'method' => 'Addresses.getList',
      'params' => {}
  }

  response = MultiJson.load(Sellsy::Api.request command)

  addresses = []

  if response['response']
    response['response']['result'].each do |key, value|
      address = Address.new
      address.id = key
      address.address = [value['part1'] || '', value['part2'] || ''].select {|p| !p.blank?}.join("\n")
      address.town = value['town']
      address.country = value['countrycode'].downcase unless value['countrycode'].blank?
      address.linkedid = value['linkedid']
      address.linkedtype = value['linkedtype']
      address.postal_code = value['zip']
      addresses << address
    end
  end

  addresses
end
find(id) click to toggle source
# File lib/sellsy/address.rb, line 20
def self.find(id)
  command = {
      'method' => 'Addresses.getOne',
      'params' => {
          'id' => id
      }
  }

  response = MultiJson.load(Sellsy::Api.request command)
  address = Address.new

  if response['response']
    value = response['response']
    address.id = key
    address.address = [value['part1'], value['part2'] || ''].select {|p| !p.blank?}.join("\n")
    address.town = value['town']
    address.country = value['countrycode'].downcase unless value['countrycode'].blank?
    address.linkedid = value['linkedid']
    address.linkedtype = value['linkedtype']
    address.postal_code = value['zip']
  end

  address
end

Public Instance Methods

create() click to toggle source
# File lib/sellsy/address.rb, line 7
def create
  command = {
      'method' => 'Addresses.create',
      'params' => to_params
  }

  response = MultiJson.load(Sellsy::Api.request command)

  @id = response['response']['address_id'] if response['response']

  response['status'] == 'success'
end
to_params() click to toggle source
# File lib/sellsy/address.rb, line 72
def to_params
  {
    'name' => 'Adresse principale',
    'part1' => @address.split(/(\r\n?)/)[0],
    'part2' => @address.split(/(\r\n?)/)[1],
    'zip' => @postal_code,
    'town' => @town,
    'countrycode' => @country.upcase,
    "linkedtype" => linkedtype,
    "linkedid" => linkedid
  }
end