Module: SmarterDates

Defined in:
lib/generators/smarter_dates/install_generator.rb,
lib/smarter_dates/engine.rb,
lib/smarter_dates/parser.rb,
lib/smarter_dates/version.rb

Overview

:nodoc:

Defined Under Namespace

Classes: Engine, InstallGenerator

Constant Summary collapse

VERSION =
'0.2.15'

Class Method Summary collapse

Class Method Details

.convert_to_dt(convert_me) ⇒ Object

:call-seq: Module.convert_to_dt method

attempts to convert using Chronic, DateTime and-or Date, whichever works first else simply yield the value



19
20
21
22
23
24
25
26
27
28
# File 'lib/smarter_dates/parser.rb', line 19

def self.convert_to_dt(convert_me)
  Proc.new do |val|
    dt = val.respond_to?(:to_chronic_datetime) ? val.to_chronic_datetime : val
    if defined?(Rails)
      set_rails_dt_attributes!(convert_me, dt)
    else
      instance_variable_set(:"@#{convert_me}", dt)
    end
  end
end

.included(klass) ⇒ Object

:nodoc:



5
6
7
8
9
10
11
# File 'lib/smarter_dates/parser.rb', line 5

def self.included(klass) # :nodoc:
  bootstrap_smarter_dates(klass)

  @dt_attributes.each do |meth|
    klass.send(:define_method, "#{meth}=".to_sym, convert_to_dt(meth))
  end
end