Module: Schema::Parsers::American
- Defined in:
- lib/schema/parsers/american.rb
Overview
Schema::Parsers::American parses dates and times in American format
Constant Summary collapse
- DATE_FORMAT =
'%m/%d/%Y'- TIME_FORMAT =
'%m/%d/%Y %H:%M:%S'
Instance Method Summary collapse
- #parse_american_date(field_name, parsing_errors, value) ⇒ Object
- #parse_american_time(field_name, parsing_errors, value) ⇒ Object
Instance Method Details
#parse_american_date(field_name, parsing_errors, value) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/schema/parsers/american.rb', line 12 def parse_american_date(field_name, parsing_errors, value) case value when Date value when Time value.to_date when String begin Date.strptime(value, DATE_FORMAT) rescue ArgumentError parsing_errors.add(field_name, ::Schema::ParsingErrors::INVALID) nil end when nil nil else parsing_errors.add(field_name, ::Schema::ParsingErrors::UNHANDLED_TYPE) nil end end |
#parse_american_time(field_name, parsing_errors, value) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/schema/parsers/american.rb', line 33 def parse_american_time(field_name, parsing_errors, value) case value when Time value when Date value.to_time when String begin Time.strptime(value, TIME_FORMAT) rescue ArgumentError parsing_errors.add(field_name, ::Schema::ParsingErrors::INVALID) nil end when nil nil else parsing_errors.add(field_name, ::Schema::ParsingErrors::UNHANDLED_TYPE) nil end end |