Sha256: 5f2f5dffe78ec536acb7e4385c731c70d889f24ba6b40866de8c92503e571646

Contents?: true

Size: 455 Bytes

Versions: 2

Compression:

Stored size: 455 Bytes

Contents

module Landable
  class Category < ActiveRecord::Base
    include Landable::TableName

    has_many :pages

    validates_uniqueness_of :name, case_sensitive: false
    validates_uniqueness_of :slug

    before_validation :set_slug

    def to_liquid
      {
        'name' => name,
        'pages' => pages.published
      }
    end

    protected

    def set_slug
      self.slug = name.downcase.gsub(/[^\w]/, '_').gsub(/_{2,}/, '_')
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
landable-1.14.0 app/models/landable/category.rb
landable-1.13.2 app/models/landable/category.rb