Module: DateAndTimeFormatting::ClassMethods

Defined in:
lib/ratpack/date_time_formatting.rb

Constant Summary collapse

@@formats =
{
  :db             => "%Y-%m-%d %H:%M:%S", 
  :time           => "%H:%M", # 21:12
  :date           => "%Y-%m-%d", # 2008-12-04
  :short          => "%d %b %H:%M", # 01 Sep 21:12
  :long           => "%B %d, %Y %H:%M",
  :rfc822         => "%a, %d %b %Y %H:%M:%S %z"
}

Instance Method Summary collapse

Instance Method Details

#add_format(key, format) ⇒ Object

Adds a date and time format

Because this operation is not thread safe, you should define custom formats when you load you application. The recommended way to do that, is to use the before_app_loads bootloader.

If you want to add a format at runtime, you will need to use a mutex and synchronize it yourself.

Parameters

key<Symbol>

name of the format

format<Hash>

time format to use

Returns

Hash

a hash with all formats available

Example

Merb::BootLoader.before_app_loads do
  Date.add_format(:matt, "%H:%M:%S %Y-%m-%d")
end



89
90
91
# File 'lib/ratpack/date_time_formatting.rb', line 89

def add_format(key, format)
  formats.merge!({key => format})
end

#formatsObject

Lists the date and time formats

Returns

Hash

a hash with all formats available



60
61
62
# File 'lib/ratpack/date_time_formatting.rb', line 60

def formats
  @@formats
end

#reset_formatsObject

Resets the date and time formats –



97
98
99
100
# File 'lib/ratpack/date_time_formatting.rb', line 97

def reset_formats
  original_formats = [:db, :time, :short, :date, :long, :long_ordinal, :rfc822]
  formats = @@formats.delete_if{|format, v| !original_formats.include?(format)}
end