Module

ActiveSupport::CoreExtensions::Time::Zones::ClassMethods

Inheritance

Attributes

Name Visibility R/W Description
zone_default public RW

Methods

Instance

Visibility Signature
public current ()
public use_zone (time_zone) {|| ...}
public zone ()
public zone= (time_zone)

Instance Method Detail

current()

Returns Time.zone.now when config.time_zone is set, otherwise just returns Time.now.

use_zone(time_zone) {|| ...}

Allows override of Time.zone locally inside supplied block; resets Time.zone to existing value when done.

zone()

Returns the TimeZone for the current request, if this has been set (via Time.zone=). If Time.zone has not been set for the current request, returns the TimeZone specified in config.time_zone.

zone=(time_zone)

Sets Time.zone to a TimeZone object for the current request/thread.

This method accepts any of the following:

Here‘s an example of how you might set Time.zone on a per request basis — current_user.time_zone just needs to return a string identifying the user‘s preferred TimeZone:

  class ApplicationController < ActionController::Base
    before_filter :set_time_zone

    def set_time_zone
      Time.zone = current_user.time_zone
    end
  end