lib/tzinfo/data_timezone.rb in tzinfo-1.0.1 vs lib/tzinfo/data_timezone.rb in tzinfo-1.1.0
- old
+ new
@@ -1,7 +1,7 @@
#--
-# Copyright (c) 2006-2010 Philip Ross
+# Copyright (c) 2006-2013 Philip Ross
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
@@ -21,10 +21,12 @@
#++
module TZInfo
# A Timezone based on a DataTimezoneInfo.
+ #
+ # @private
class DataTimezone < InfoTimezone #:nodoc:
# Returns the TimezonePeriod for the given UTC time. utc can either be
# a DateTime, Time or integer timestamp (Time.to_i). Any timezone
# information in utc is ignored (it is treated as a UTC time).
@@ -38,8 +40,34 @@
# local time as an array. If you just want a single period, use
# period_for_local instead and specify how abiguities should be resolved.
# Raises PeriodNotFound if no periods are found for the given time.
def periods_for_local(local)
info.periods_for_local(local)
- end
+ end
+
+ # Returns an Array of TimezoneTransition instances representing the times
+ # where the UTC offset of the timezone changes.
+ #
+ # Transitions are returned up to a given date and time up to a given date
+ # and time, specified in UTC (utc_to).
+ #
+ # A from date and time may also be supplied using the utc_from parameter
+ # (also specified in UTC). If utc_from is not nil, only transitions from
+ # that date and time onwards will be returned.
+ #
+ # Comparisons with utc_to are exclusive. Comparisons with utc_from are
+ # inclusive. If a transition falls precisely on utc_to, it will be excluded.
+ # If a transition falls on utc_from, it will be included.
+ #
+ # Transitions returned are ordered by when they occur, from earliest to
+ # latest.
+ #
+ # utc_to and utc_from can be specified using either DateTime, Time or
+ # integer timestamps (Time.to_i).
+ #
+ # If utc_from is specified and utc_to is not greater than utc_from, then
+ # transitions_up_to raises an ArgumentError exception.
+ def transitions_up_to(utc_to, utc_from = nil)
+ info.transitions_up_to(utc_to, utc_from)
+ end
end
end