blob: b8651a81b7da2109ad6d93f9a55f26e8a1154738 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
class Event < ApplicationRecord
include RruleHumanizer
belongs_to :node, optional: true
has_many :occurrences, dependent: :destroy
acts_as_taggable_on :tags
validates :title, presence: true, unless: -> { node_id.present? }
after_save :generate_occurrences
def occurrences_in_range start_time, end_time
self.occurrences.where(
"start_time > ? AND end_time < ?",
start_time, end_time
)
end
def display_title
title.presence || node&.head&.title || "Untitled event"
end
private
def generate_occurrences
Occurrence.generate self
end
end
|