Sha256: 5a0085a739b219d9dbb46a8b1b02eb4469b9875a601f8996d5e8b11f4e847933

Contents?: true

Size: 462 Bytes

Versions: 2

Compression:

Stored size: 462 Bytes

Contents

# encoding: utf-8

class Category < ActiveRecord::Base
  has_and_belongs_to_many :pages, join_table: "pages_categories"
  validates_presence_of :name
  acts_as_list

  before_save :set_slug
  after_save ThinkingSphinx::RealTime.callback_for(:pages, [:page])

  scope :by_name, -> { order("name ASC") }

  private

  def set_slug
    self.slug = name
      .downcase
      .gsub(/[^\w\s]/, "")
      .split(/[^\w\d\-]+/)
      .compact
      .join("-")
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pages_core-3.4.3 app/models/category.rb
pages_core-3.4.2 app/models/category.rb