Method: Remi::Transform#format_date

Defined in:
lib/remi/transform.rb

#format_date(from_fmt: '%m/%d/%Y', to_fmt: '%Y-%m-%d') ⇒ Object



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/remi/transform.rb', line 65

def format_date(from_fmt: '%m/%d/%Y', to_fmt: '%Y-%m-%d')
  memoize_as_lambda(__method__, from_fmt, to_fmt) do |(mfrom_fmt, mto_fmt), larg|
    begin
      if larg.blank? then
        ''
      elsif larg.respond_to? :strftime
        larg.strftime(mto_fmt)
      else
        Date.strptime(larg, mfrom_fmt).strftime(mto_fmt)
      end
    rescue ArgumentError => err
      puts "Error parsing date (#{larg.class}): '#{larg}'"
      raise err
    end
  end
end