Sha256: 2620543cca5baf6626ff0bd2244f761ae4b88c1b09fd7e253af8584e7e0dcf95
Contents?: true
Size: 1.27 KB
Versions: 3
Compression:
Stored size: 1.27 KB
Contents
module Ecm::Courses class Course < ApplicationRecord module Icalendar def to_icalendar_events(calendar) course_dates.map do |cd| calendar.event do |e| e.dtstart = cd.start_at e.dtend = cd.end_at e.summary = name e.description = description # e.ip_class = "PRIVATE" end end end end include Icalendar # acts as list acts_as_list scope: :course_category # associations belongs_to :course_category has_many :course_dates, ->() { order(:start_at) }, dependent: :destroy # friendly id extend FriendlyId friendly_id :name, use: [:slugged] # scopes # @todo check ordering # default_scope { includes(:course_category).order('ecm_courses_course_categories.name, ecm_courses_courses.position ASC') } # validations validates :course_category, presence: true validates :locale, inclusion: { in: I18n.available_locales.map(&:to_s) }, allow_blank: true validates :name, presence: true def heading_name # locale_prefix = locale.blank? ? '' : "[#{locale}] " # "#{locale_prefix}#{name}" name end def to_s "#{course_category.name} - #{name}" end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ecm_courses2-1.0.3 | app/models/ecm/courses/course.rb |
ecm_courses2-1.0.2 | app/models/ecm/courses/course.rb |
ecm_courses2-1.0.1 | app/models/ecm/courses/course.rb |