Module: DOTIW::Methods
- Extended by:
- Methods
- Included in:
- ActionView::Helpers::DateHelper, Methods
- Defined in:
- lib/dotiw/methods.rb
Instance Method Summary collapse
- #distance_of_time(seconds, options = {}) ⇒ Object
- #distance_of_time_in_words(from_time, to_time = 0, include_seconds_or_options = {}, options = {}) ⇒ Object
- #distance_of_time_in_words_hash(from_time, to_time, options = {}) ⇒ Object
- #time_ago_in_words(from_time, include_seconds_or_options = {}) ⇒ Object
Instance Method Details
#distance_of_time(seconds, options = {}) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/dotiw/methods.rb', line 14 def distance_of_time(seconds, = {}) = ().reverse_merge( include_seconds: true ) .delete(:compact) _display_time_in_words DOTIW::TimeHash.new(seconds, nil, nil, ).to_hash, end |
#distance_of_time_in_words(from_time, to_time = 0, include_seconds_or_options = {}, options = {}) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/dotiw/methods.rb', line 22 def distance_of_time_in_words(from_time, to_time = 0, = {}, = {}) raise ArgumentError, "nil can't be converted to a Time value" if from_time.nil? || to_time.nil? if .is_a?(Hash) = else = .dup [:include_seconds] ||= !! end return distance_of_time(from_time, ) if to_time == 0 = () hash = distance_of_time_in_words_hash(from_time, to_time, ) _display_time_in_words(hash, ) end |
#distance_of_time_in_words_hash(from_time, to_time, options = {}) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/dotiw/methods.rb', line 7 def distance_of_time_in_words_hash(from_time, to_time, = {}) from_time = from_time.to_time if !from_time.is_a?(Time) && from_time.respond_to?(:to_time) to_time = to_time.to_time if !to_time.is_a?(Time) && to_time.respond_to?(:to_time) DOTIW::TimeHash.new(nil, from_time, to_time, ).to_hash end |
#time_ago_in_words(from_time, include_seconds_or_options = {}) ⇒ Object
38 39 40 |
# File 'lib/dotiw/methods.rb', line 38 def time_ago_in_words(from_time, = {}) distance_of_time_in_words(from_time, Time.current, ) end |