class Prestashop::Mapper::Combination

Attributes

available_date[RW]
default_on[RW]
ean13[RW]
ecotax[RW]
find?[RW]
id[RW]
id_images[RW]
id_lang[RW]
id_product[RW]
id_product_options[RW]
location[RW]
minimal_quantity[RW]
price[RW]
quantity[RW]
reference[RW]
supplier_reference[RW]
unit_price_impact[RW]
upc[RW]
weight[RW]
wholesale_price[RW]

Public Class Methods

deactivate(supplier) click to toggle source
# File lib/prestashop/mapper/models/combination.rb, line 70
def deactivate supplier
  first = (Date.today-365).strftime("%F")
  last = (Date.today-1).strftime("%F")
  combinations = where 'filter[date_upd]' => "[#{first},#{last}]", date: 1, 'filter[supplier_reference]' => supplier, limit: 1000
  if combinations and !combinations.empty?
    combinations.map{|c| delete(c)}
  end
end
new(args = {}) click to toggle source
# File lib/prestashop/mapper/models/combination.rb, line 12
def initialize args = {}
  @id                 = args[:id]
  @id_product         = args.fetch(:id_product)
  @location           = args[:location]
  @ean13              = args[:ean]
  @upc                = args[:upc]
  @quantity           = args.fetch(:quantity, 0)
  @reference          = args.fetch(:reference)
  @supplier_reference = args[:supplier_reference]
  @wholesale_price    = args[:wholesale_price]
  @price              = args[:price]
  @ecotax             = args[:ecotax]
  @weight             = args[:weight]
  @unit_price_impact  = args[:unit_price_impact]
  @minimal_quantity   = args.fetch(:minimal_quantity, 1)
  @default_on         = args.fetch(:default_on, 0)
  @available_date     = Date.today.strftime("%F")

  @id_product_options = args[:id_product_options]
  @id_images          = args[:id_images]

  @id_lang            = args.fetch(:id_lang)
end

Public Instance Methods

hash() click to toggle source
# File lib/prestashop/mapper/models/combination.rb, line 42
def hash
  combination = {
    id_product:         id_product,
    reference:          reference,
    supplier_reference: supplier_reference,
    minimal_quantity:   minimal_quantity,
    default_on:         default_on,
    available_date:     available_date,
    price:              price,
    quantity:           quantity,
    associations: {}
  }
  if id_product_options
    combination[:associations][:product_option_values] = {}
    combination[:associations][:product_option_values][:product_option_value] = hash_ids(id_product_options)
  end
  if id_images
    combination[:associations][:images] = {}
    combination[:associations][:images][:image] = hash_ids(id_images)
  end
  combination
end
update(options = {}) click to toggle source
# File lib/prestashop/mapper/models/combination.rb, line 65
def update options = {}
  self.class.update(id, options)
end