Module: GreenMonkey::ViewHelper
- Defined in:
- lib/green_monkey/ext/view_helper.rb
Instance Method Summary collapse
-
#time_tag(time, *args) ⇒ Object
time_tag post.created_at = time_tag post.created_at, format: “%d %h %Y %R%p” = time_tag post.created_at, itemprop: “datePublished”.
- #time_tag_interval(from, to, *args) ⇒ Object
- #time_to_iso8601(time) ⇒ Object
Instance Method Details
#time_tag(time, *args) ⇒ Object
time_tag post.created_at
time_tag post.created_at, format: “%d %h %Y %R%p”
time_tag post.created_at, itemprop: “datePublished”
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/green_monkey/ext/view_helper.rb', line 13 def time_tag(time, *args) = args. format = .delete(:format) || :long datetime = time_to_iso8601(time) if time.acts_like?(:time) title = nil content = args.first || I18n.l(time, format: format) elsif time.kind_of?(Numeric) title = ChronicDuration.output(time, :format => format) content = args.first || distance_of_time_in_words(time) end content_tag(:time, content, .reverse_merge(datetime: datetime, title: title)) end |
#time_tag_interval(from, to, *args) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/green_monkey/ext/view_helper.rb', line 30 def time_tag_interval(from, to, *args) = args. format = .delete(:format) || :long datetime = [from, to].map(&method(:time_to_iso8601)).join("/") content = args.first || [from, to].map do |time| if time.acts_like?(:time) I18n.l(from, format: format) else ChronicDuration.output(time, :format => format) end end if to.acts_like?(:time) content = content.join(" - ") else content = content.join(" in ") end content_tag(:time, content, .reverse_merge(datetime: datetime)) end |
#time_to_iso8601(time) ⇒ Object
52 53 54 55 56 57 58 |
# File 'lib/green_monkey/ext/view_helper.rb', line 52 def time_to_iso8601(time) if time.acts_like?(:time) time.iso8601 elsif time.kind_of?(Numeric) ChronicDuration.output(time, :format => :iso8601) end end |