Skip to content
Gorgeous Real-Time Date Display - Rubygem
Ruby
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
vendor/assets/javascripts
.gitignore
README.rdoc
init.rb
wiser_date-0.3.0.gem
wiser_date.gemspec

README.rdoc

Wiser Date for Rails

WiserDate is a date formatting plugin written by Kenneth John Balgos (github.com/kennethjohnbalgos). Wiser Date features dynamic presentation of feed timestamps. The plugin now supports real-time and dynamic date displays.

Dependency

Rails >=3.1 and jQuery >=1.7 to make the real-time feature work.

Installation

Install the gem.

gem "wiser_date"

Require jquery.wiser_date in your app/assets/application.js file.

//= require jquery.wiser_date

Usage

Use the wiser_date function in your views.

<%= wiser_date @user.last_login_at %>
# Sample display within few seconds: just now
# Sample display within few minutes: about 30 minutes ago
# Sample display within the day: about 3 hours ago
# Sample display later within the day: today at 12:21pm
# Sample display after the day: yesterday 12:21pm
# Sample display after 2 days: September 10, 2013 12:21pm

@user.last_login_at can be any timestamp you want to display.

Assume that the value is “Mon, 10 Sept 2012 12:21:16 UTC +00:00”.

Options & Examples

You can customize the behavior of the date display by using the following options:

  • real_time - toggles the real-time updating of displayed dates [default: true]

    <%= wiser_date @user.last_login_at, :real_time => false %>
  • interval - custom real-time update interval in seconds [default: 20]

    <%= wiser_date @user.last_login_at, :interval => 60 %>
  • date_format - overrides the default date format [default: “%b %d, %Y”]

    <%= wiser_date @user.last_login_at, :date_format => "%Y-%m-%d" %>
    # Sample display within few seconds: just now
    # Sample display within few minutes: about 30 minutes ago
    # Sample display within the day: about 3 hours ago
    # Sample display later within the day: today at 12:21pm
    # Sample display after the day: yesterday 12:21pm
    # Sample display after 2 days: 2012-09-10 12:21pm
  • time_format - overrides the default time format [default: “%l:%M%P”]

    <%= wiser_date @user.last_login_at, :time_format => "%H:%M:%S" %>
    # Sample display within few seconds: just now
    # Sample display within few minutes: about 30 minutes ago
    # Sample display within the day: about 3 hours ago
    # Sample display later within the day: today at 12:21:16
    # Sample display after the day: yesterday 12:21:16
    # Sample display after 2 days: September 10, 2013 12:21:16
  • humanize - converts date to more readable string [default: true]

    <%= wiser_date @user.last_login_at, :humanize => false %>
    # Sample display within few seconds: September 10, 2013 12:21pm
    # Sample display within few minutes: September 10, 2013 12:21pm
    # Sample display within the day: September 10, 2013 12:21pm
    # Sample display later within the day: September 10, 2013 12:21pm
    # Sample display after the day: September 10, 2013 12:21pm
    # Sample display after 2 days: September 10, 2013 12:21pm
  • time_first - displays time first instead of date [default: false]

    <%= wiser_date @user.last_login_at, :time_first => true %>
    # Sample display within few seconds: just now
    # Sample display within few minutes: about 30 minutes ago
    # Sample display within the day: about 3 hours ago
    # Sample display later within the day: 12:21pm today
    # Sample display after the day: 12:21pm yesterday 
    # Sample display after 2 days: 12:21pm September 10, 2013
  • hide_same_year - will not display the year if the it is the same with the present year [default: false]

    <%= wiser_date @user.last_login_at, :hide_same_year => true %>
    # Sample display within few seconds: just now
    # Sample display within few minutes: about 30 minutes ago
    # Sample display within the day: about 3 hours ago
    # Sample display later within the day: today at 12:21pm
    # Sample display after the day: yesterday 12:21pm
    # Sample display after 2 days: September 10, 12:21pm
  • capitalize - capitalizes the first letter of the date displayed [default: true]

    <%= wiser_date @user.last_login_at, :capitalize => true %>
    # Sample display within few seconds: Just now
    # Sample display within few minutes: About 30 minutes ago
    # Sample display within the day: about 3 hours ago
    # Sample display later within the day: Today at 12:21pm
    # Sample display after the day: Yesterday 12:21pm
    # Sample display after 2 days: September 10, 12:21pm
  • custom_class - adds custom classes to the containter span of the date [default: nil]

    <%= wiser_date @user.last_login_at, :custom_class => "date_tooltip" %>
  • time_now - accepts complete timestamp as the basis of time distances [default: server_time]

    <%= wiser_date @user.last_login_at, :time_now => "2012-09-10 12:21:16 +0000" %>

Support

Open an issue in github.com/kennethjohnbalgos/wiser_date if you need further support or want to report a bug.

You can’t perform that action at this time.