Sha256: fbe398721aaa7d6180569fa11e9b8cf381380fbd3b36e536d561f746bd2c3e15

Contents?: true

Size: 1.28 KB

Versions: 1

Compression:

Stored size: 1.28 KB

Contents

require 'date'
require 'forwardable'

require 'timeliness/helpers'
require 'timeliness/definitions'
require 'timeliness/format'
require 'timeliness/format_set'
require 'timeliness/parser'
require 'timeliness/version'

module Timeliness
  class << self
    extend Forwardable
    def_delegators Parser, :parse, :_parse
    def_delegators Definitions, :add_formats, :remove_formats, :use_us_formats, :use_euro_formats
    attr_accessor :default_timezone, :date_for_time_type, :ambiguous_date_format, :ambiguous_year_threshold
  end

  # Default timezone. Options:
  #   - :local (default)
  #   - :utc
  #   
  #   If ActiveSupport loaded, also
  #   - :current
  #   - 'Zone name'
  #
  self.default_timezone = :local

  # Set the default date part for a time type values.
  #
  self.date_for_time_type = lambda { Time.now }

  # Default parsing of ambiguous date formats. Options:
  #   - :us (default, 01/02/2000 = 2nd of January 2000)
  #   - :euro (01/02/2000 = 1st of February 2000)
  #
  self.ambiguous_date_format = :us

  # Set the threshold value for a two digit year to be considered last century
  #
  # Default: 30
  #
  #   Example:
  #     year = '29' is considered 2029
  #     year = '30' is considered 1930
  #
  self.ambiguous_year_threshold = 30
end

Timeliness::Definitions.compile_formats

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
timeliness-0.4.2 lib/timeliness.rb