diff options
author | Geoff Buesing <gbuesing@gmail.com> | 2008-03-30 22:24:35 +0000 |
---|---|---|
committer | Geoff Buesing <gbuesing@gmail.com> | 2008-03-30 22:24:35 +0000 |
commit | d4493bc562f4f774bfad075e2ba57be3434046c3 (patch) | |
tree | 520394021f0433e164b02b49b9c39efa35442110 /activesupport/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/timezone_index_definition.rb | |
parent | c2ce69860a01205a68dce1d642a02da5595094b6 (diff) | |
download | rails-d4493bc562f4f774bfad075e2ba57be3434046c3.tar.gz rails-d4493bc562f4f774bfad075e2ba57be3434046c3.tar.bz2 rails-d4493bc562f4f774bfad075e2ba57be3434046c3.zip |
Bundling abbreviated version of TZInfo gem 0.3.8: only the classes and zone definitions required to support Rails time zone features are included. If a recent version of the full TZInfo gem is installed, this will take precedence over the bundled version
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9149 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/timezone_index_definition.rb')
-rw-r--r-- | activesupport/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/timezone_index_definition.rb | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/timezone_index_definition.rb b/activesupport/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/timezone_index_definition.rb new file mode 100644 index 0000000000..1f005e3d7f --- /dev/null +++ b/activesupport/lib/active_support/vendor/tzinfo-0.3.8/tzinfo/timezone_index_definition.rb @@ -0,0 +1,72 @@ +#-- +# Copyright (c) 2006 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 +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +#++ + +module TZInfo + # The timezone index file includes TimezoneIndexDefinition which provides + # methods used to define timezones in the index. + module TimezoneIndexDefinition #:nodoc: + def self.append_features(base) + super + base.extend(ClassMethods) + end + + module ClassMethods #:nodoc: + # Defines a timezone based on data. + def timezone(identifier) + @timezones = [] unless @timezones + @data_timezones = [] unless @data_timezones + @timezones << identifier + @data_timezones << identifier + end + + # Defines a timezone which is a link to another timezone. + def linked_timezone(identifier) + @timezones = [] unless @timezones + @linked_timezones = [] unless @linked_timezones + @timezones << identifier + @linked_timezones << identifier + end + + # Returns a frozen array containing the identifiers of all the timezones. + # Identifiers appear in the order they were defined in the index. + def timezones + @timezones = [] unless @timezones + @timezones.freeze + end + + # Returns a frozen array containing the identifiers of all data timezones. + # Identifiers appear in the order they were defined in the index. + def data_timezones + @data_timezones = [] unless @data_timezones + @data_timezones.freeze + end + + # Returns a frozen array containing the identifiers of all linked + # timezones. Identifiers appear in the order they were defined in + # the index. + def linked_timezones + @linked_timezones = [] unless @linked_timezones + @linked_timezones.freeze + end + end + end +end |