Class: EventDb::Model::Event
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- EventDb::Model::Event
- Defined in:
- lib/eventdb/models.rb
Instance Method Summary collapse
- #current_day(today = Date.today) ⇒ Object (also: #cur_day)
-
#date_fmt(fmt = 'long') ⇒ Object
date pretty printed (pre-formatted) as string (with weeknames).
- #diff_days(today = Date.today) ⇒ Object
-
#live ⇒ Object
rename to now_on/on_now/now_playing/running/etc.
-
#upcoming ⇒ Object
todo: auto-add today ?? - why, why not? move order(‘start_date’) into its own scope ??.
Instance Method Details
#current_day(today = Date.today) ⇒ Object Also known as: cur_day
17 18 19 |
# File 'lib/eventdb/models.rb', line 17 def current_day( today=Date.today ) today.mjd - start_date.mjd + 1 # calculate current event day (1,2,3,etc.) end |
#date_fmt(fmt = 'long') ⇒ Object
date pretty printed (pre-formatted) as string (with weeknames)
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/eventdb/models.rb', line 28 def date_fmt( fmt='long' ) # date pretty printed (pre-formatted) as string (with weeknames) ## note: wday - (0-6, Sunday is zero). if days == 1 buf = '' if fmt == 'long' buf << Date::ABBR_DAYNAMES[start_date.wday] buf << ' ' end buf << Date::ABBR_MONTHNAMES[start_date.month] buf << '/' buf << start_date.day.to_s elsif days == 2 buf = '' if fmt == 'long' buf << Date::ABBR_DAYNAMES[start_date.wday] buf << '+' buf << Date::ABBR_DAYNAMES[end_date.wday] buf << ' ' end buf << Date::ABBR_MONTHNAMES[start_date.month] buf << '/' buf << start_date.day.to_s buf << '+' if start_date.month != end_date.month buf << Date::ABBR_MONTHNAMES[end_date.month] buf << '/' end buf << end_date.day.to_s else ## assume multi day buf = '' if fmt == 'long' buf << Date::ABBR_DAYNAMES[start_date.wday] buf << '-' buf << Date::ABBR_DAYNAMES[end_date.wday] buf << ' ' end buf << Date::ABBR_MONTHNAMES[start_date.month] buf << '/' buf << start_date.day.to_s buf << '-' if start_date.month != end_date.month buf << Date::ABBR_MONTHNAMES[end_date.month] buf << '/' end buf << end_date.day.to_s end buf end |
#diff_days(today = Date.today) ⇒ Object
22 23 24 |
# File 'lib/eventdb/models.rb', line 22 def diff_days( today=Date.today ) start_date.mjd - today.mjd # note: mjd == Modified Julian Day Number end |
#live ⇒ Object
rename to now_on/on_now/now_playing/running/etc. - why? why not??
14 |
# File 'lib/eventdb/models.rb', line 14 scope :live, ->( today=Date.today ) { order('start_date').where( 'start_date <= ? AND end_date >= ?', today, today ) } |
#upcoming ⇒ Object
todo: auto-add today ?? - why, why not?
move order('start_date') into its own scope ??
11 |
# File 'lib/eventdb/models.rb', line 11 scope :upcoming, ->( today=Date.today ) { order('start_date').where( 'start_date > ?', today ) } |