Method: Time.at_with_coercion

Defined in:
activesupport/lib/active_support/core_ext/time/calculations.rb

.at_with_coercion(time_or_number, *args) ⇒ Object Also known as: at

Layers additional behavior on Time.at so that ActiveSupport::TimeWithZone and DateTime instances can be used when called with a single argument



45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'activesupport/lib/active_support/core_ext/time/calculations.rb', line 45

def at_with_coercion(time_or_number, *args)
  if args.empty?
    if time_or_number.is_a?(ActiveSupport::TimeWithZone)
      at_without_coercion(time_or_number.to_r).getlocal
    elsif time_or_number.is_a?(DateTime)
      at_without_coercion(time_or_number.to_f).getlocal
    else
      at_without_coercion(time_or_number)
    end
  else
    at_without_coercion(time_or_number, *args)
  end
end