Sha256: f63e713783d2c7757213853090bca8f9df13b64e87fbfbdf406c7f73546c56ef
Contents?: true
Size: 1.31 KB
Versions: 4
Compression:
Stored size: 1.31 KB
Contents
module Festivity module Extensions module SiteExtensions def self.included(base) base.class_eval { has_many :festivity_category_types include Festivity::Extensions::SiteExtensions::SiteMethods } end module SiteMethods def festivity_start_date=(value) super(Time.strptime(value, "%m/%d/%Y %l:%M %P")) end def festivity_end_date=(value) super(Time.strptime(value, "%m/%d/%Y %l:%M %P")) end def festivity_active_category_types self.festivity_category_types.where(["inactive = false"]) end def date_during_festival?(date) self.festival_datetimes.include?(date) end def festival_datetimes @festival_datetimes ||= calculate_festival_datetimes end 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 def date_filter? self.festivity_filter_type == "date" end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems