Sha256: 32d6de8df103305a80e697f04df6f4a5db88dfb9841b184e863c5b891faf6dd6

Contents?: true

Size: 486 Bytes

Versions: 10

Compression:

Stored size: 486 Bytes

Contents

# frozen_string_literal: true

class Category < ApplicationRecord
  has_many :page_categories, dependent: :destroy
  has_many :pages, through: :page_categories
  validates :name, presence: true
  acts_as_list

  before_save :set_slug

  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

10 entries across 10 versions & 1 rubygems

Version Path
pages_core-3.14.0 app/models/category.rb
pages_core-3.13.0 app/models/category.rb
pages_core-3.12.7 app/models/category.rb
pages_core-3.12.6 app/models/category.rb
pages_core-3.12.5 app/models/category.rb
pages_core-3.12.4 app/models/category.rb
pages_core-3.12.3 app/models/category.rb
pages_core-3.12.2 app/models/category.rb
pages_core-3.12.1 app/models/category.rb
pages_core-3.12.0 app/models/category.rb