Module: Rails::Timeago::Helper
- Defined in:
- lib/rails-timeago/helper.rb
Instance Method Summary collapse
-
#timeago_tag(time, html_options = {}) ⇒ Object
Create a time tag usable for jQuery timeago plugin.
-
#timeago_tag_content(time, time_options = {}) ⇒ Object
:nodoc:.
Instance Method Details
#timeago_tag(time, html_options = {}) ⇒ Object
Create a time tag usable for jQuery timeago plugin.
timeago_tag Time.zone.now
=> "<time datetime="2012-03-10T12:07:07+01:00" title="Sat, 10 Mar 2012 12:07:07 +0100" data-time-ago="2012-03-10T12:07:07+01:00">2012-03-10</time>"
Available options:
- :
nojs
-
Add time ago in words as time tag content instead of absolute time. (default: false)
- :
date_only
-
Only print date as tag content instead of full time. (default: true)
- :
format
-
A time format for localize method used to format static time. (default: :default)
- :
limit
-
Set a limit for time ago tags. All dates before given limit will not be converted. (default: 4.days.ago)
- :
force
-
Force time ago tag ignoring limit option. (default: false)
- :
default
-
String that will be returned if time is nil. (default: ‘-’)
All other options will be given as options to tag helper.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/rails-timeago/helper.rb', line 36 def timeago_tag(time, = {}) = Rails::Timeago. = .merge .extract!(*.keys.select{|k| .include?(k)}) .merge! :title => I18n.l(time, :format => [:format]) return [:default] if time.nil? [:limit] = [:limit].call if [:limit].is_a?(Proc) if [:force] or [:limit].nil? or [:limit] < time .merge!('data-time-ago' => time.iso8601) end time_tag time, timeago_tag_content(time, ), end |
#timeago_tag_content(time, time_options = {}) ⇒ Object
:nodoc:
52 53 54 55 56 57 |
# File 'lib/rails-timeago/helper.rb', line 52 def timeago_tag_content(time, = {}) # :nodoc: time = time.to_date if [:date_only] return time_ago_in_words(time) if [:nojs] I18n.l time, :format => [:format] end |