Module: Festivity::Extensions::SiteExtensions::SiteMethods
- Defined in:
- lib/festivity/extensions/site_extensions.rb
Instance Method Summary collapse
- #calculate_festival_datetimes ⇒ Object
- #date_during_festival?(date) ⇒ Boolean
- #date_filter? ⇒ Boolean
- #festival_datetimes ⇒ Object
- #festivity_active_category_types ⇒ Object
- #festivity_end_date=(value) ⇒ Object
- #festivity_start_date=(value) ⇒ Object
Instance Method Details
#calculate_festival_datetimes ⇒ Object
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/festivity/extensions/site_extensions.rb', line 34 def calculate_festival_datetimes dates = [self.festivity_start_date] advance_by = date_filter? ? {days: 1} : {hours: 1} until dates.last >= self.festivity_end_date do dates << dates.last.advance(advance_by) end FestivityDatetimeFilterPresenter.new(dates, self.festivity_filter_type) rescue [] end |
#date_during_festival?(date) ⇒ Boolean
26 27 28 |
# File 'lib/festivity/extensions/site_extensions.rb', line 26 def date_during_festival?(date) self.festival_datetimes.any? {|festival_date| festival_date.datetime == date} end |
#date_filter? ⇒ Boolean
45 46 47 |
# File 'lib/festivity/extensions/site_extensions.rb', line 45 def date_filter? self.festivity_filter_type == "date" end |
#festival_datetimes ⇒ Object
30 31 32 |
# File 'lib/festivity/extensions/site_extensions.rb', line 30 def festival_datetimes @festival_datetimes ||= calculate_festival_datetimes end |
#festivity_active_category_types ⇒ Object
22 23 24 |
# File 'lib/festivity/extensions/site_extensions.rb', line 22 def festivity_active_category_types self.festivity_category_types.where(["inactive = false"]) end |
#festivity_end_date=(value) ⇒ Object
18 19 20 |
# File 'lib/festivity/extensions/site_extensions.rb', line 18 def festivity_end_date=(value) super(Chronic.parse(value)) end |
#festivity_start_date=(value) ⇒ Object
14 15 16 |
# File 'lib/festivity/extensions/site_extensions.rb', line 14 def festivity_start_date=(value) super(Chronic.parse(value)) end |