module MongoidOccurrences::Occurrence::ClassMethods

Public Instance Methods

embedded_in_event(name, options = {}) click to toggle source
# File lib/mongoid_occurrences/occurrence.rb, line 22
def embedded_in_event(name, options = {})
  field :dtstart, type: DateTime
  field :dtend, type: DateTime
  field :all_day, type: Boolean

  embedded_in name, class_name: options.fetch(:class_name, nil), inverse_of: :occurrences

  after_validation :adjust_dates_for_all_day!, if: :changed?

  validates :dtstart, presence: true
  validates :dtend, presence: true

  validate :dtend_must_be_after_dtstart
end