method
parts_to_time
v5.1.7 -
Show latest stable
- Class:
ActiveSupport::TimeZone
parts_to_time(parts, now)private
No documentation available.
# File activesupport/lib/active_support/values/time_zone.rb, line 524
def parts_to_time(parts, now)
raise ArgumentError, "invalid date" if parts.nil?
return if parts.empty?
if parts[:seconds]
time = Time.at(parts[:seconds])
else
time = Time.new(
parts.fetch(:year, now.year),
parts.fetch(:mon, now.month),
parts.fetch(:mday, parts[:year] || parts[:mon] ? 1 : now.day),
parts.fetch(:hour, 0),
parts.fetch(:min, 0),
parts.fetch(:sec, 0) + parts.fetch(:sec_fraction, 0),
parts.fetch(:offset, 0)
)
end
if parts[:offset] || parts[:seconds]
TimeWithZone.new(time.utc, self)
else
TimeWithZone.new(nil, self, time)
end
end