Module: DateBook::ActsAsSchedule::InstanceMethods
- Defined in:
- lib/date_book/concerns/acts_as_schedule.rb
Overview
Instance Methods
Instance Method Summary collapse
- #duration_attributes ⇒ Object
- #duration_attributes=(value) ⇒ Object
- #duration_count ⇒ Object
- #duration_unit ⇒ Object
- #human_date ⇒ Object
- #human_time ⇒ Object
Instance Method Details
#duration_attributes ⇒ Object
12 13 14 |
# File 'lib/date_book/concerns/acts_as_schedule.rb', line 12 def duration_attributes OpenStruct.new count: duration_count, unit: duration_unit end |
#duration_attributes=(value) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/date_book/concerns/acts_as_schedule.rb', line 16 def duration_attributes=(value) if value.is_a? Hash self.duration = value['count'].to_i.send(value['unit'].to_sym).to_i end super value end |
#duration_count ⇒ Object
23 24 25 |
# File 'lib/date_book/concerns/acts_as_schedule.rb', line 23 def duration_count duration / 1.send(duration_unit.singularize.to_sym).to_i end |
#duration_unit ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/date_book/concerns/acts_as_schedule.rb', line 27 def duration_unit return 'seconds' if duration.zero? DateBook .configuration .duration_units .select { |x| unit_matches? x } .first || 'seconds' end |
#human_date ⇒ Object
36 37 38 |
# File 'lib/date_book/concerns/acts_as_schedule.rb', line 36 def human_date I18n.localize date, format: :human_date end |
#human_time ⇒ Object
40 41 42 |
# File 'lib/date_book/concerns/acts_as_schedule.rb', line 40 def human_time I18n.localize time, format: :human_time end |