class RawgentoModels::LocalProduct

Public Class Methods

all_hidden() click to toggle source
# File lib/rawgento_models/local_product.rb, line 26
def self.all_hidden
  unscoped.where("active = ? OR hidden = ?", false, true)
end
name_ilike(name) click to toggle source

SQLite specific

# File lib/rawgento_models/local_product.rb, line 31
def self.name_ilike name
  where('lower(name) LIKE ?', "%#{name.downcase}%")
end

Public Instance Methods

days_since_first_stock() click to toggle source
# File lib/rawgento_models/local_product.rb, line 43
def days_since_first_stock
  if first_record = first_stock_record
    (Date.today - first_record.created_at.to_date)
  else
    0
  end
end
first_stock_record() click to toggle source
# File lib/rawgento_models/local_product.rb, line 39
def first_stock_record
  stock_items.order(created_at: :asc).first
end
out_of_stock_days_since(date) click to toggle source
# File lib/rawgento_models/local_product.rb, line 35
def out_of_stock_days_since date
  stock_items.where("qty <= ? AND date >= ?", 0, date).count
end