Method: Liquid::Utils.to_date

Defined in:
lib/liquid/utils.rb

.to_date(obj) ⇒ Object



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/liquid/utils.rb', line 65

def self.to_date(obj)
  return obj if obj.respond_to?(:strftime)

  if obj.is_a?(String)
    return nil if obj.empty?
    obj = obj.downcase
  end

  case obj
  when 'now', 'today'
    Time.now
  when /\A\d+\z/, Integer
    Time.at(obj.to_i)
  when String
    Time.parse(obj)
  end
rescue ::ArgumentError
  nil
end