Class: SmartCsvImport::Normalizers::DateConverter
- Inherits:
-
Object
- Object
- SmartCsvImport::Normalizers::DateConverter
- Defined in:
- lib/smart_csv_import/normalizers/date_converter.rb
Constant Summary collapse
- US_DATE =
%r{\A(\d{1,2})/(\d{1,2})/(\d{4})\z}
Instance Method Summary collapse
Instance Method Details
#call(value) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/smart_csv_import/normalizers/date_converter.rb', line 10 def call(value) return nil if value.nil? return value if value.is_a?(Date) str = value.to_s.strip return nil if str.empty? if (match = str.match(US_DATE)) month, day, year = match.captures.map(&:to_i) Date.new(year, month, day) else Date.parse(str) end rescue Date::Error, ArgumentError nil end |