Sha256: 952657e29eec14ad174ccd2e90ad7fa80855b582dc922ba31e95e65abe991d19

Contents?: true

Size: 552 Bytes

Versions: 3

Compression:

Stored size: 552 Bytes

Contents

class TbCommerce::Category < ActiveRecord::Base
  self.table_name = 'tb_commerce_categories'

  scope :ordered, ->{ order('title asc') }

  validates :title, :presence => true, :length => {:maximum => 255}, :uniqueness => true
  before_save :generate_slug_from_title

  has_many :products, :inverse_of => :category, :foreign_key => :tb_commerce_category_id, :dependent => :nullify
  has_many :images, :as => :imageable
private

  def generate_slug_from_title
    if slug.blank? || title_changed?
      self.slug = title.parameterize
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tb_commerce-0.0.4 app/models/tb_commerce/category.rb
tb_commerce-0.0.3 app/models/tb_commerce/category.rb
tb_commerce-0.0.2 app/models/tb_commerce/category.rb