module Prestashop::Mapper::Extension::InstanceMethods

Public Instance Methods

create() click to toggle source

Create new model from instance, based on class resource a payload generated from hash method

Car.new(name: 'BMW 7', manufacturer: 'BMW').create # => { id: 1, name: 'BMW 7', manufacturer: 'BMW' }
# File lib/prestashop/mapper/extension.rb, line 149
def create
  result = Client.create self.class.resource, payload
  result ? result[self.class.model] : nil
end
hash_id(id) click to toggle source

Generate hash with ID

car.hash_id(1) # => {id: 1}
# File lib/prestashop/mapper/extension.rb, line 124
def hash_id id
  { id: id } if id
end
hash_ids(ids) click to toggle source

Make array of unique IDs in hash

car.hash_ids(1,2,3) # => [{id: 1},{id: 2},{id: 3}]
# File lib/prestashop/mapper/extension.rb, line 132
def hash_ids ids
  ids.flatten.uniq.map{|id| hash_id(id)} if ids
end
payload() click to toggle source

Create payload for create new object, coverts hash to XML

car.payload # => '<prestashop xmlns:xlink="http://www.w3.org/1999/xlink"><car><name><![CDATA[BMW 7]]></name><manufacturer><![CDATA[BMW]]></manufacturer></car></prestashop>'
# File lib/prestashop/mapper/extension.rb, line 140
def payload
  Api::Converter.build(self.class.resource, self.class.model, hash)
end