Module: AmericanDateParsing
- Defined in:
- lib/american_date_parsing.rb,
lib/american_date_parsing/version.rb
Defined Under Namespace
Modules: Accessors
Classes: AmericanDateValidator
Constant Summary
collapse
- VERSION =
"0.0.2"
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
10
11
12
|
# File 'lib/american_date_parsing.rb', line 10
def self.default_format
@default_format ||= %r{\d{1,2}#{delimiter}\d{1,2}#{delimiter}\d{2,4}}
end
|
Instance Method Details
#parse_as_americanized_date(*attributes) ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/american_date_parsing.rb', line 18
def parse_as_americanized_date(*attributes)
options = attributes.
if !defined?(ActiveRecord::Base) || !(self < ActiveRecord::Base)
send(:include, AmericanDateParsing::Accessors)
end
attributes.each do |attribute|
attr_accessor :"_raw_#{attribute}"
if options[:validate].present?
validates attribute, 'american_date_parsing/american_date' => options[:validate]
end
define_method "#{attribute}=" do |date_string|
parsed = if date_string.respond_to?(:strftime)
date_string.to_date
else
Chronic.parse(date_string.to_s).try(:to_date)
end
send(:"_raw_#{attribute}=", date_string)
write_attribute(attribute, parsed)
end
end
end
|