Class: UDDF::Base::Models::DateTimeField
- Inherits:
-
Object
- Object
- UDDF::Base::Models::DateTimeField
- Includes:
- HappyMapper
- Defined in:
- lib/uddf/base/models/generic.rb
Instance Attribute Summary collapse
-
#date_time ⇒ Object
Lazily parse on first access; memoize in @date_time.
Instance Attribute Details
#date_time ⇒ Object
Lazily parse on first access; memoize in @date_time
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/uddf/base/models/generic.rb', line 44 def date_time return @date_time if @date_time content = raw.to_s.strip return nil if content.empty? @date_time = case content when /^\d{4}$/ # "YYYY" DateTime.new(content.to_i, 1, 1) when /^\d{4}-\d{2}$/ # "YYYY-MM" y, m = content.split("-").map!(&:to_i) DateTime.new(y, m, 1) else begin DateTime.iso8601(content) rescue ArgumentError, DateError begin DateTime.rfc3339(content) rescue ArgumentError, DateError DateTime.parse(content) end end end end |