method
find_zone!
v4.0.2 -
Show latest stable
- Class:
Time
find_zone!(time_zone)public
Returns a TimeZone instance or nil, or raises an ArgumentError for invalid timezones.
# File activesupport/lib/active_support/core_ext/time/zones.rb, line 52
def find_zone!(time_zone)
if !time_zone || time_zone.is_a?(ActiveSupport::TimeZone)
time_zone
else
# lookup timezone based on identifier (unless we've been passed a TZInfo::Timezone)
unless time_zone.respond_to?(:period_for_local)
time_zone = ActiveSupport::TimeZone[time_zone] || TZInfo::Timezone.get(time_zone)
end
# Return if a TimeZone instance, or wrap in a TimeZone instance if a TZInfo::Timezone
if time_zone.is_a?(ActiveSupport::TimeZone)
time_zone
else
ActiveSupport::TimeZone.create(time_zone.name, nil, time_zone)
end
end
rescue TZInfo::InvalidTimezoneIdentifier
raise ArgumentError, "Invalid Timezone: #{time_zone}"
end Related methods
- Instance methods
- +
- -
- <=>
- _dump
- _dump_without_zone
- acts_like_time?
- advance
- ago
- all_day
- all_month
- all_quarter
- all_week
- all_year
- as_json
- at_beginning_of_day
- at_beginning_of_hour
- at_beginning_of_minute
- at_end_of_day
- at_end_of_hour
- at_end_of_minute
- at_midnight
- beginning_of_day
- beginning_of_hour
- beginning_of_minute
- change
- compare_with_coercion
- compare_without_coercion
- end_of_day
- end_of_hour
- end_of_minute
- eql?
- eql_with_coercion
- eql_without_coercion
- formatted_offset
- in
- in_time_zone
- midnight
- minus_with_coercion
- minus_with_duration
- minus_without_coercion
- minus_without_duration
- plus_with_duration
- plus_without_duration
- seconds_since_midnight
- seconds_until_end_of_day
- since
- to_default_s
- to_formatted_s
- to_s
- Class methods
- ===
- _load
- _load_without_zone
- at
- at_with_coercion
- at_without_coercion
- current
- days_in_month
- find_zone
- find_zone!
- local_time
- time_with_datetime_fallback
- use_zone
- utc_time
- zone
- zone=