Sha256: 0df6b748f06e8b5733c3de4c6fd5329a9bf989d3daf7640c8eedd2a29cc4bed2
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
module Ecm::Courses class CourseCategory < ApplicationRecord # associations has_many :courses, ->() { order(:position) }, dependent: :destroy # awesome nested set acts_as_nested_set default_scope { order('lft ASC') } # friendly id extend FriendlyId friendly_id :name, use: [:slugged] # validations validates :name, presence: true, uniqueness: { scope: [:parent_id] } validates :locale, presence: true, if: :root? validates :locale, inclusion: { in: I18n.available_locales.map(&:to_s) }, allow_blank: true validates :locale, absence: true, unless: :root? def index_name if root? #{ }"[#{locale}] #{name}" else "#{'    ' * level} |-- #{name}".html_safe end end def to_s name end def courses_count courses.count end def tree_name # root_prefix = root? ? "[#{locale}] " : '' if courses_count < 1 self else "#{self} (#{courses_count})" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ecm_courses2-0.1.0 | app/models/ecm/courses/course_category.rb |