activesupport 2.3.18 → 3.0.0.beta
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activesupport might be problematic. Click here for more details.
- data/CHANGELOG +30 -53
- data/lib/active_support.rb +43 -31
- data/lib/active_support/all.rb +3 -7
- data/lib/active_support/backtrace_cleaner.rb +24 -8
- data/lib/active_support/base64.rb +9 -0
- data/lib/active_support/benchmarkable.rb +60 -0
- data/lib/active_support/buffered_logger.rb +12 -9
- data/lib/active_support/cache.rb +75 -55
- data/lib/active_support/cache/compressed_mem_cache_store.rb +2 -0
- data/lib/active_support/cache/file_store.rb +35 -17
- data/lib/active_support/cache/mem_cache_store.rb +29 -20
- data/lib/active_support/cache/memory_store.rb +18 -17
- data/lib/active_support/cache/strategy/local_cache.rb +9 -1
- data/lib/active_support/callbacks.rb +490 -169
- data/lib/active_support/concern.rb +29 -0
- data/lib/active_support/configurable.rb +35 -0
- data/lib/active_support/core_ext.rb +2 -7
- data/lib/active_support/core_ext/array.rb +2 -10
- data/lib/active_support/core_ext/array/access.rb +39 -46
- data/lib/active_support/core_ext/array/conversions.rb +146 -182
- data/lib/active_support/core_ext/array/extract_options.rb +12 -18
- data/lib/active_support/core_ext/array/grouping.rb +87 -93
- data/lib/active_support/core_ext/array/random_access.rb +4 -40
- data/lib/active_support/core_ext/array/uniq_by.rb +17 -0
- data/lib/active_support/core_ext/array/wrap.rb +22 -0
- data/lib/active_support/core_ext/big_decimal.rb +1 -0
- data/lib/active_support/core_ext/big_decimal/conversions.rb +27 -0
- data/lib/active_support/core_ext/cgi.rb +0 -4
- data/lib/active_support/core_ext/cgi/escape_skipping_slashes.rb +16 -20
- data/lib/active_support/core_ext/class.rb +0 -2
- data/lib/active_support/core_ext/class/attribute.rb +8 -39
- data/lib/active_support/core_ext/class/attribute_accessors.rb +31 -35
- data/lib/active_support/core_ext/class/delegating_attributes.rb +34 -40
- data/lib/active_support/core_ext/class/inheritable_attributes.rb +100 -16
- data/lib/active_support/core_ext/date/acts_like.rb +8 -0
- data/lib/active_support/core_ext/date/calculations.rb +218 -238
- data/lib/active_support/core_ext/date/conversions.rb +87 -96
- data/lib/active_support/core_ext/date/freeze.rb +31 -0
- data/lib/active_support/core_ext/date_time/acts_like.rb +13 -0
- data/lib/active_support/core_ext/date_time/calculations.rb +97 -110
- data/lib/active_support/core_ext/date_time/conversions.rb +83 -95
- data/lib/active_support/core_ext/date_time/zones.rb +17 -0
- data/lib/active_support/core_ext/enumerable.rb +14 -15
- data/lib/active_support/core_ext/exception.rb +1 -43
- data/lib/active_support/core_ext/file.rb +0 -4
- data/lib/active_support/core_ext/file/atomic.rb +34 -41
- data/lib/active_support/core_ext/float.rb +0 -6
- data/lib/active_support/core_ext/float/rounding.rb +15 -20
- data/lib/active_support/core_ext/hash.rb +8 -14
- data/lib/active_support/core_ext/hash/conversions.rb +236 -236
- data/lib/active_support/core_ext/hash/deep_merge.rb +12 -19
- data/lib/active_support/core_ext/hash/diff.rb +11 -17
- data/lib/active_support/core_ext/hash/except.rb +21 -22
- data/lib/active_support/core_ext/hash/indifferent_access.rb +8 -137
- data/lib/active_support/core_ext/hash/keys.rb +38 -45
- data/lib/active_support/core_ext/hash/reverse_merge.rb +25 -32
- data/lib/active_support/core_ext/hash/slice.rb +35 -37
- data/lib/active_support/core_ext/integer.rb +1 -7
- data/lib/active_support/core_ext/integer/inflections.rb +10 -16
- data/lib/active_support/core_ext/integer/multiple.rb +6 -0
- data/lib/active_support/core_ext/integer/time.rb +36 -42
- data/lib/active_support/core_ext/kernel/reporting.rb +9 -7
- data/lib/active_support/core_ext/kernel/requires.rb +3 -1
- data/lib/active_support/core_ext/load_error.rb +16 -33
- data/lib/active_support/core_ext/logger.rb +3 -2
- data/lib/active_support/core_ext/module.rb +3 -16
- data/lib/active_support/core_ext/module/aliasing.rb +64 -68
- data/lib/active_support/core_ext/module/attr_accessor_with_default.rb +1 -1
- data/lib/active_support/core_ext/module/attr_internal.rb +4 -4
- data/lib/active_support/core_ext/module/attribute_accessors.rb +36 -41
- data/lib/active_support/core_ext/module/delegation.rb +1 -1
- data/lib/active_support/core_ext/module/deprecation.rb +9 -0
- data/lib/active_support/core_ext/module/introspection.rb +77 -79
- data/lib/active_support/core_ext/module/loading.rb +2 -0
- data/lib/active_support/core_ext/module/synchronization.rb +4 -1
- data/lib/active_support/core_ext/name_error.rb +3 -4
- data/lib/active_support/core_ext/numeric.rb +1 -8
- data/lib/active_support/core_ext/numeric/bytes.rb +35 -41
- data/lib/active_support/core_ext/numeric/time.rb +70 -74
- data/lib/active_support/core_ext/object.rb +4 -2
- data/lib/active_support/core_ext/object/acts_like.rb +10 -0
- data/lib/active_support/core_ext/object/conversions.rb +4 -15
- data/lib/active_support/core_ext/object/duplicable.rb +65 -0
- data/lib/active_support/core_ext/object/instance_variables.rb +0 -7
- data/lib/active_support/core_ext/object/metaclass.rb +5 -6
- data/lib/active_support/core_ext/object/misc.rb +2 -93
- data/lib/active_support/core_ext/object/returning.rb +42 -0
- data/lib/active_support/core_ext/object/to_param.rb +49 -0
- data/lib/active_support/core_ext/object/to_query.rb +27 -0
- data/lib/active_support/core_ext/{try.rb → object/try.rb} +4 -4
- data/lib/active_support/core_ext/object/with_options.rb +24 -0
- data/lib/active_support/core_ext/proc.rb +6 -4
- data/lib/active_support/core_ext/process/daemon.rb +17 -19
- data/lib/active_support/core_ext/range.rb +2 -9
- data/lib/active_support/core_ext/range/blockless_step.rb +24 -27
- data/lib/active_support/core_ext/range/conversions.rb +17 -23
- data/lib/active_support/core_ext/range/include_range.rb +18 -27
- data/lib/active_support/core_ext/range/overlaps.rb +6 -13
- data/lib/active_support/core_ext/regexp.rb +5 -0
- data/lib/active_support/core_ext/rexml.rb +12 -7
- data/lib/active_support/core_ext/string.rb +6 -19
- data/lib/active_support/core_ext/string/access.rb +88 -95
- data/lib/active_support/core_ext/string/behavior.rb +6 -12
- data/lib/active_support/core_ext/string/conversions.rb +19 -21
- data/lib/active_support/core_ext/string/exclude.rb +6 -0
- data/lib/active_support/core_ext/string/filters.rb +17 -23
- data/lib/active_support/core_ext/string/inflections.rb +146 -153
- data/lib/active_support/{vendor/i18n-0.4.1/i18n/core_ext/string/interpolate.rb → core_ext/string/interpolation.rb} +8 -15
- data/lib/active_support/core_ext/string/multibyte.rb +68 -74
- data/lib/active_support/core_ext/string/output_safety.rb +21 -17
- data/lib/active_support/core_ext/string/starts_ends_with.rb +3 -32
- data/lib/active_support/core_ext/string/xchar.rb +10 -3
- data/lib/active_support/core_ext/time/acts_like.rb +8 -0
- data/lib/active_support/core_ext/time/calculations.rb +276 -308
- data/lib/active_support/core_ext/time/conversions.rb +78 -84
- data/lib/active_support/core_ext/time/marshal_with_utc_flag.rb +22 -0
- data/lib/active_support/core_ext/time/publicize_conversion_methods.rb +10 -0
- data/lib/active_support/core_ext/time/zones.rb +73 -81
- data/lib/active_support/core_ext/uri.rb +2 -1
- data/lib/active_support/dependencies.rb +38 -48
- data/lib/active_support/dependencies/autoload.rb +49 -0
- data/lib/active_support/deprecation.rb +9 -195
- data/lib/active_support/deprecation/behaviors.rb +38 -0
- data/lib/active_support/deprecation/method_wrappers.rb +29 -0
- data/lib/active_support/deprecation/proxy_wrappers.rb +74 -0
- data/lib/active_support/deprecation/reporting.rb +55 -0
- data/lib/active_support/duration.rb +6 -2
- data/lib/active_support/hash_with_indifferent_access.rb +137 -0
- data/lib/active_support/i18n.rb +2 -0
- data/lib/active_support/inflections.rb +1 -1
- data/lib/active_support/inflector.rb +4 -406
- data/lib/active_support/inflector/inflections.rb +211 -0
- data/lib/active_support/inflector/methods.rb +139 -0
- data/lib/active_support/inflector/transliterate.rb +61 -0
- data/lib/active_support/json/backends/jsongem.rb +16 -10
- data/lib/active_support/json/backends/yaml.rb +72 -2
- data/lib/active_support/json/decoding.rb +2 -16
- data/lib/active_support/json/encoding.rb +153 -33
- data/lib/active_support/json/variable.rb +4 -3
- data/lib/active_support/locale/en.yml +1 -4
- data/lib/active_support/memoizable.rb +7 -6
- data/lib/active_support/message_encryptor.rb +1 -0
- data/lib/active_support/message_verifier.rb +12 -29
- data/lib/active_support/multibyte.rb +9 -4
- data/lib/active_support/multibyte/chars.rb +25 -17
- data/lib/active_support/multibyte/unicode_database.rb +5 -5
- data/lib/active_support/multibyte/utils.rb +1 -1
- data/lib/active_support/notifications.rb +77 -0
- data/lib/active_support/notifications/fanout.rb +69 -0
- data/lib/active_support/notifications/instrumenter.rb +50 -0
- data/lib/active_support/option_merger.rb +2 -0
- data/lib/active_support/ordered_hash.rb +33 -37
- data/lib/active_support/ordered_options.rb +3 -1
- data/lib/active_support/railtie.rb +64 -0
- data/lib/active_support/rescuable.rb +11 -6
- data/lib/active_support/ruby/shim.rb +19 -0
- data/lib/active_support/test_case.rb +8 -1
- data/lib/active_support/testing/assertions.rb +2 -14
- data/lib/active_support/testing/declarative.rb +31 -12
- data/lib/active_support/testing/deprecation.rb +8 -10
- data/lib/active_support/testing/isolation.rb +153 -0
- data/lib/active_support/testing/pending.rb +48 -0
- data/lib/active_support/testing/performance.rb +342 -339
- data/lib/active_support/testing/setup_and_teardown.rb +48 -31
- data/lib/active_support/time.rb +34 -0
- data/lib/active_support/time/autoload.rb +5 -0
- data/lib/active_support/time_with_zone.rb +18 -12
- data/lib/active_support/values/time_zone.rb +97 -93
- data/lib/active_support/version.rb +3 -3
- data/lib/active_support/whiny_nil.rb +1 -4
- data/lib/active_support/xml_mini.rb +2 -0
- data/lib/active_support/xml_mini/jdom.rb +13 -7
- data/lib/active_support/xml_mini/libxml.rb +19 -12
- data/lib/active_support/xml_mini/libxmlsax.rb +19 -9
- data/lib/active_support/xml_mini/nokogiri.rb +18 -12
- data/lib/active_support/xml_mini/nokogirisax.rb +15 -6
- data/lib/active_support/xml_mini/rexml.rb +24 -9
- metadata +94 -244
- data/lib/active_support/cache/drb_store.rb +0 -14
- data/lib/active_support/core_ext/array/wrapper.rb +0 -24
- data/lib/active_support/core_ext/base64.rb +0 -4
- data/lib/active_support/core_ext/base64/encoding.rb +0 -16
- data/lib/active_support/core_ext/bigdecimal.rb +0 -6
- data/lib/active_support/core_ext/bigdecimal/conversions.rb +0 -37
- data/lib/active_support/core_ext/blank.rb +0 -2
- data/lib/active_support/core_ext/class/removal.rb +0 -50
- data/lib/active_support/core_ext/date.rb +0 -10
- data/lib/active_support/core_ext/date/behavior.rb +0 -42
- data/lib/active_support/core_ext/date_time.rb +0 -12
- data/lib/active_support/core_ext/duplicable.rb +0 -43
- data/lib/active_support/core_ext/float/time.rb +0 -27
- data/lib/active_support/core_ext/integer/even_odd.rb +0 -29
- data/lib/active_support/core_ext/kernel/singleton_class.rb +0 -13
- data/lib/active_support/core_ext/module/model_naming.rb +0 -25
- data/lib/active_support/core_ext/module/remove_method.rb +0 -6
- data/lib/active_support/core_ext/numeric/conversions.rb +0 -19
- data/lib/active_support/core_ext/object/extending.rb +0 -80
- data/lib/active_support/core_ext/object/singleton_class.rb +0 -13
- data/lib/active_support/core_ext/pathname.rb +0 -7
- data/lib/active_support/core_ext/pathname/clean_within.rb +0 -14
- data/lib/active_support/core_ext/string/bytesize.rb +0 -5
- data/lib/active_support/core_ext/string/iterators.rb +0 -23
- data/lib/active_support/core_ext/symbol.rb +0 -14
- data/lib/active_support/core_ext/time.rb +0 -46
- data/lib/active_support/core_ext/time/behavior.rb +0 -13
- data/lib/active_support/json/backends/okjson.rb +0 -644
- data/lib/active_support/json/backends/yajl.rb +0 -40
- data/lib/active_support/json/encoders/date.rb +0 -22
- data/lib/active_support/json/encoders/date_time.rb +0 -22
- data/lib/active_support/json/encoders/enumerable.rb +0 -17
- data/lib/active_support/json/encoders/false_class.rb +0 -7
- data/lib/active_support/json/encoders/hash.rb +0 -56
- data/lib/active_support/json/encoders/nil_class.rb +0 -7
- data/lib/active_support/json/encoders/numeric.rb +0 -21
- data/lib/active_support/json/encoders/object.rb +0 -10
- data/lib/active_support/json/encoders/regexp.rb +0 -9
- data/lib/active_support/json/encoders/string.rb +0 -9
- data/lib/active_support/json/encoders/symbol.rb +0 -5
- data/lib/active_support/json/encoders/time.rb +0 -22
- data/lib/active_support/json/encoders/true_class.rb +0 -7
- data/lib/active_support/vendor.rb +0 -36
- data/lib/active_support/vendor/builder-2.1.2/blankslate.rb +0 -113
- data/lib/active_support/vendor/builder-2.1.2/builder.rb +0 -13
- data/lib/active_support/vendor/builder-2.1.2/builder/blankslate.rb +0 -20
- data/lib/active_support/vendor/builder-2.1.2/builder/css.rb +0 -250
- data/lib/active_support/vendor/builder-2.1.2/builder/xchar.rb +0 -115
- data/lib/active_support/vendor/builder-2.1.2/builder/xmlbase.rb +0 -139
- data/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb +0 -63
- data/lib/active_support/vendor/builder-2.1.2/builder/xmlmarkup.rb +0 -328
- data/lib/active_support/vendor/i18n-0.4.1/i18n.rb +0 -322
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend.rb +0 -20
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record.rb +0 -61
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/missing.rb +0 -65
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/store_procs.rb +0 -38
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/active_record/translation.rb +0 -93
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/base.rb +0 -237
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cache.rb +0 -77
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cascade.rb +0 -57
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/chain.rb +0 -77
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/cldr.rb +0 -100
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/fallbacks.rb +0 -69
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/flatten.rb +0 -113
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/gettext.rb +0 -75
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/interpolation_compiler.rb +0 -123
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/key_value.rb +0 -102
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/memoize.rb +0 -48
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/metadata.rb +0 -65
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/pluralization.rb +0 -57
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/simple.rb +0 -87
- data/lib/active_support/vendor/i18n-0.4.1/i18n/backend/transliterator.rb +0 -98
- data/lib/active_support/vendor/i18n-0.4.1/i18n/config.rb +0 -84
- data/lib/active_support/vendor/i18n-0.4.1/i18n/core_ext/hash.rb +0 -29
- data/lib/active_support/vendor/i18n-0.4.1/i18n/exceptions.rb +0 -61
- data/lib/active_support/vendor/i18n-0.4.1/i18n/gettext.rb +0 -27
- data/lib/active_support/vendor/i18n-0.4.1/i18n/gettext/helpers.rb +0 -65
- data/lib/active_support/vendor/i18n-0.4.1/i18n/gettext/po_parser.rb +0 -329
- data/lib/active_support/vendor/i18n-0.4.1/i18n/locale.rb +0 -6
- data/lib/active_support/vendor/i18n-0.4.1/i18n/locale/fallbacks.rb +0 -98
- data/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag.rb +0 -28
- data/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/parents.rb +0 -24
- data/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/rfc4646.rb +0 -76
- data/lib/active_support/vendor/i18n-0.4.1/i18n/locale/tag/simple.rb +0 -41
- data/lib/active_support/vendor/i18n-0.4.1/i18n/version.rb +0 -3
- data/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb +0 -1107
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo.rb +0 -33
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone.rb +0 -47
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/data_timezone_info.rb +0 -228
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Algiers.rb +0 -55
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Cairo.rb +0 -219
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Casablanca.rb +0 -40
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Harare.rb +0 -18
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Johannesburg.rb +0 -25
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Monrovia.rb +0 -22
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Africa/Nairobi.rb +0 -23
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/Buenos_Aires.rb +0 -166
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Argentina/San_Juan.rb +0 -86
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Bogota.rb +0 -23
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Caracas.rb +0 -23
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chicago.rb +0 -283
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Chihuahua.rb +0 -136
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Denver.rb +0 -204
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Godthab.rb +0 -161
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Guatemala.rb +0 -27
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Halifax.rb +0 -274
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Indiana/Indianapolis.rb +0 -149
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Juneau.rb +0 -194
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/La_Paz.rb +0 -22
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Lima.rb +0 -35
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Los_Angeles.rb +0 -232
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mazatlan.rb +0 -139
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Mexico_City.rb +0 -144
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Monterrey.rb +0 -131
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/New_York.rb +0 -282
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Phoenix.rb +0 -30
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Regina.rb +0 -74
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Santiago.rb +0 -205
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Sao_Paulo.rb +0 -171
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/St_Johns.rb +0 -288
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/America/Tijuana.rb +0 -196
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Almaty.rb +0 -67
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baghdad.rb +0 -73
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Baku.rb +0 -161
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Bangkok.rb +0 -20
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Chongqing.rb +0 -33
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Colombo.rb +0 -30
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Dhaka.rb +0 -27
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Hong_Kong.rb +0 -87
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Irkutsk.rb +0 -165
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jakarta.rb +0 -30
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Jerusalem.rb +0 -163
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kabul.rb +0 -20
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kamchatka.rb +0 -163
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Karachi.rb +0 -30
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Katmandu.rb +0 -20
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kolkata.rb +0 -25
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Krasnoyarsk.rb +0 -163
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuala_Lumpur.rb +0 -31
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Kuwait.rb +0 -18
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Magadan.rb +0 -163
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Muscat.rb +0 -18
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Novosibirsk.rb +0 -164
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Rangoon.rb +0 -24
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Riyadh.rb +0 -18
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Seoul.rb +0 -34
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Shanghai.rb +0 -35
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Singapore.rb +0 -33
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Taipei.rb +0 -59
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tashkent.rb +0 -47
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tbilisi.rb +0 -78
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tehran.rb +0 -121
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Tokyo.rb +0 -30
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Ulaanbaatar.rb +0 -65
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Urumqi.rb +0 -33
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Vladivostok.rb +0 -164
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yakutsk.rb +0 -163
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yekaterinburg.rb +0 -165
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Asia/Yerevan.rb +0 -165
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Azores.rb +0 -270
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/Cape_Verde.rb +0 -23
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Atlantic/South_Georgia.rb +0 -18
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Adelaide.rb +0 -187
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Brisbane.rb +0 -35
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Darwin.rb +0 -29
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Hobart.rb +0 -193
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Melbourne.rb +0 -185
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Perth.rb +0 -37
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Australia/Sydney.rb +0 -185
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Etc/UTC.rb +0 -16
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Amsterdam.rb +0 -228
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Athens.rb +0 -185
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Belgrade.rb +0 -163
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Berlin.rb +0 -188
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bratislava.rb +0 -13
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Brussels.rb +0 -232
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Bucharest.rb +0 -181
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Budapest.rb +0 -197
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Copenhagen.rb +0 -179
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Dublin.rb +0 -276
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Helsinki.rb +0 -163
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Istanbul.rb +0 -218
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Kiev.rb +0 -168
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Lisbon.rb +0 -268
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Ljubljana.rb +0 -13
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/London.rb +0 -288
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Madrid.rb +0 -211
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Minsk.rb +0 -170
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Moscow.rb +0 -181
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Paris.rb +0 -232
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Prague.rb +0 -187
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Riga.rb +0 -176
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Rome.rb +0 -215
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sarajevo.rb +0 -13
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Skopje.rb +0 -13
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Sofia.rb +0 -173
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Stockholm.rb +0 -165
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Tallinn.rb +0 -172
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vienna.rb +0 -183
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Vilnius.rb +0 -170
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Warsaw.rb +0 -212
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Europe/Zagreb.rb +0 -13
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Auckland.rb +0 -202
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Fiji.rb +0 -23
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Guam.rb +0 -22
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Honolulu.rb +0 -28
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Majuro.rb +0 -20
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Midway.rb +0 -25
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Noumea.rb +0 -25
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Pago_Pago.rb +0 -26
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Port_Moresby.rb +0 -20
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/definitions/Pacific/Tongatapu.rb +0 -27
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/info_timezone.rb +0 -52
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone.rb +0 -51
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/linked_timezone_info.rb +0 -44
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/offset_rationals.rb +0 -98
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb +0 -56
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/time_or_datetime.rb +0 -292
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone.rb +0 -508
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_definition.rb +0 -56
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_info.rb +0 -40
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_offset_info.rb +0 -94
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_period.rb +0 -198
- data/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/timezone_transition_info.rb +0 -129
- data/lib/activesupport.rb +0 -2
@@ -1,33 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2005-2006 Philip Ross
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
|
-
# of this software and associated documentation files (the "Software"), to deal
|
6
|
-
# in the Software without restriction, including without limitation the rights
|
7
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8
|
-
# copies of the Software, and to permit persons to whom the Software is
|
9
|
-
# furnished to do so, subject to the following conditions:
|
10
|
-
#
|
11
|
-
# The above copyright notice and this permission notice shall be included in all
|
12
|
-
# copies or substantial portions of the Software.
|
13
|
-
#
|
14
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20
|
-
# THE SOFTWARE.
|
21
|
-
#++
|
22
|
-
|
23
|
-
# Add the directory containing this file to the start of the load path if it
|
24
|
-
# isn't there already.
|
25
|
-
$:.unshift(File.dirname(__FILE__)) unless
|
26
|
-
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
|
27
|
-
|
28
|
-
require 'tzinfo/timezone'
|
29
|
-
# require 'tzinfo/country'
|
30
|
-
# require 'tzinfo/tzdataparser'
|
31
|
-
# require 'tzinfo/timezone_proxy'
|
32
|
-
require 'tzinfo/data_timezone'
|
33
|
-
require 'tzinfo/linked_timezone'
|
@@ -1,47 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2006 Philip Ross
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
|
-
# of this software and associated documentation files (the "Software"), to deal
|
6
|
-
# in the Software without restriction, including without limitation the rights
|
7
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8
|
-
# copies of the Software, and to permit persons to whom the Software is
|
9
|
-
# furnished to do so, subject to the following conditions:
|
10
|
-
#
|
11
|
-
# The above copyright notice and this permission notice shall be included in all
|
12
|
-
# copies or substantial portions of the Software.
|
13
|
-
#
|
14
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20
|
-
# THE SOFTWARE.
|
21
|
-
#++
|
22
|
-
|
23
|
-
require 'tzinfo/info_timezone'
|
24
|
-
|
25
|
-
module TZInfo
|
26
|
-
|
27
|
-
# A Timezone based on a DataTimezoneInfo.
|
28
|
-
class DataTimezone < InfoTimezone #:nodoc:
|
29
|
-
|
30
|
-
# Returns the TimezonePeriod for the given UTC time. utc can either be
|
31
|
-
# a DateTime, Time or integer timestamp (Time.to_i). Any timezone
|
32
|
-
# information in utc is ignored (it is treated as a UTC time).
|
33
|
-
#
|
34
|
-
# If no TimezonePeriod could be found, PeriodNotFound is raised.
|
35
|
-
def period_for_utc(utc)
|
36
|
-
info.period_for_utc(utc)
|
37
|
-
end
|
38
|
-
|
39
|
-
# Returns the set of TimezonePeriod instances that are valid for the given
|
40
|
-
# local time as an array. If you just want a single period, use
|
41
|
-
# period_for_local instead and specify how abiguities should be resolved.
|
42
|
-
# Raises PeriodNotFound if no periods are found for the given time.
|
43
|
-
def periods_for_local(local)
|
44
|
-
info.periods_for_local(local)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
@@ -1,228 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2006 Philip Ross
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
|
-
# of this software and associated documentation files (the "Software"), to deal
|
6
|
-
# in the Software without restriction, including without limitation the rights
|
7
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8
|
-
# copies of the Software, and to permit persons to whom the Software is
|
9
|
-
# furnished to do so, subject to the following conditions:
|
10
|
-
#
|
11
|
-
# The above copyright notice and this permission notice shall be included in all
|
12
|
-
# copies or substantial portions of the Software.
|
13
|
-
#
|
14
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20
|
-
# THE SOFTWARE.
|
21
|
-
#++
|
22
|
-
|
23
|
-
require 'tzinfo/time_or_datetime'
|
24
|
-
require 'tzinfo/timezone_info'
|
25
|
-
require 'tzinfo/timezone_offset_info'
|
26
|
-
require 'tzinfo/timezone_period'
|
27
|
-
require 'tzinfo/timezone_transition_info'
|
28
|
-
|
29
|
-
module TZInfo
|
30
|
-
# Thrown if no offsets have been defined when calling period_for_utc or
|
31
|
-
# periods_for_local. Indicates an error in the timezone data.
|
32
|
-
class NoOffsetsDefined < StandardError
|
33
|
-
end
|
34
|
-
|
35
|
-
# Represents a (non-linked) timezone defined in a data module.
|
36
|
-
class DataTimezoneInfo < TimezoneInfo #:nodoc:
|
37
|
-
|
38
|
-
# Constructs a new TimezoneInfo with its identifier.
|
39
|
-
def initialize(identifier)
|
40
|
-
super(identifier)
|
41
|
-
@offsets = {}
|
42
|
-
@transitions = []
|
43
|
-
@previous_offset = nil
|
44
|
-
@transitions_index = nil
|
45
|
-
end
|
46
|
-
|
47
|
-
# Defines a offset. The id uniquely identifies this offset within the
|
48
|
-
# timezone. utc_offset and std_offset define the offset in seconds of
|
49
|
-
# standard time from UTC and daylight savings from standard time
|
50
|
-
# respectively. abbreviation describes the timezone offset (e.g. GMT, BST,
|
51
|
-
# EST or EDT).
|
52
|
-
#
|
53
|
-
# The first offset to be defined is treated as the offset that applies
|
54
|
-
# until the first transition. This will usually be in Local Mean Time (LMT).
|
55
|
-
#
|
56
|
-
# ArgumentError will be raised if the id is already defined.
|
57
|
-
def offset(id, utc_offset, std_offset, abbreviation)
|
58
|
-
raise ArgumentError, 'Offset already defined' if @offsets.has_key?(id)
|
59
|
-
|
60
|
-
offset = TimezoneOffsetInfo.new(utc_offset, std_offset, abbreviation)
|
61
|
-
@offsets[id] = offset
|
62
|
-
@previous_offset = offset unless @previous_offset
|
63
|
-
end
|
64
|
-
|
65
|
-
# Defines a transition. Transitions must be defined in chronological order.
|
66
|
-
# ArgumentError will be raised if a transition is added out of order.
|
67
|
-
# offset_id refers to an id defined with offset. ArgumentError will be
|
68
|
-
# raised if the offset_id cannot be found. numerator_or_time and
|
69
|
-
# denomiator specify the time the transition occurs as. See
|
70
|
-
# TimezoneTransitionInfo for more detail about specifying times.
|
71
|
-
def transition(year, month, offset_id, numerator_or_time, denominator = nil)
|
72
|
-
offset = @offsets[offset_id]
|
73
|
-
raise ArgumentError, 'Offset not found' unless offset
|
74
|
-
|
75
|
-
if @transitions_index
|
76
|
-
if year < @last_year || (year == @last_year && month < @last_month)
|
77
|
-
raise ArgumentError, 'Transitions must be increasing date order'
|
78
|
-
end
|
79
|
-
|
80
|
-
# Record the position of the first transition with this index.
|
81
|
-
index = transition_index(year, month)
|
82
|
-
@transitions_index[index] ||= @transitions.length
|
83
|
-
|
84
|
-
# Fill in any gaps
|
85
|
-
(index - 1).downto(0) do |i|
|
86
|
-
break if @transitions_index[i]
|
87
|
-
@transitions_index[i] = @transitions.length
|
88
|
-
end
|
89
|
-
else
|
90
|
-
@transitions_index = [@transitions.length]
|
91
|
-
@start_year = year
|
92
|
-
@start_month = month
|
93
|
-
end
|
94
|
-
|
95
|
-
@transitions << TimezoneTransitionInfo.new(offset, @previous_offset,
|
96
|
-
numerator_or_time, denominator)
|
97
|
-
@last_year = year
|
98
|
-
@last_month = month
|
99
|
-
@previous_offset = offset
|
100
|
-
end
|
101
|
-
|
102
|
-
# Returns the TimezonePeriod for the given UTC time.
|
103
|
-
# Raises NoOffsetsDefined if no offsets have been defined.
|
104
|
-
def period_for_utc(utc)
|
105
|
-
unless @transitions.empty?
|
106
|
-
utc = TimeOrDateTime.wrap(utc)
|
107
|
-
index = transition_index(utc.year, utc.mon)
|
108
|
-
|
109
|
-
start_transition = nil
|
110
|
-
start = transition_before_end(index)
|
111
|
-
if start
|
112
|
-
start.downto(0) do |i|
|
113
|
-
if @transitions[i].at <= utc
|
114
|
-
start_transition = @transitions[i]
|
115
|
-
break
|
116
|
-
end
|
117
|
-
end
|
118
|
-
end
|
119
|
-
|
120
|
-
end_transition = nil
|
121
|
-
start = transition_after_start(index)
|
122
|
-
if start
|
123
|
-
start.upto(@transitions.length - 1) do |i|
|
124
|
-
if @transitions[i].at > utc
|
125
|
-
end_transition = @transitions[i]
|
126
|
-
break
|
127
|
-
end
|
128
|
-
end
|
129
|
-
end
|
130
|
-
|
131
|
-
if start_transition || end_transition
|
132
|
-
TimezonePeriod.new(start_transition, end_transition)
|
133
|
-
else
|
134
|
-
# Won't happen since there are transitions. Must always find one
|
135
|
-
# transition that is either >= or < the specified time.
|
136
|
-
raise 'No transitions found in search'
|
137
|
-
end
|
138
|
-
else
|
139
|
-
raise NoOffsetsDefined, 'No offsets have been defined' unless @previous_offset
|
140
|
-
TimezonePeriod.new(nil, nil, @previous_offset)
|
141
|
-
end
|
142
|
-
end
|
143
|
-
|
144
|
-
# Returns the set of TimezonePeriods for the given local time as an array.
|
145
|
-
# Results returned are ordered by increasing UTC start date.
|
146
|
-
# Returns an empty array if no periods are found for the given time.
|
147
|
-
# Raises NoOffsetsDefined if no offsets have been defined.
|
148
|
-
def periods_for_local(local)
|
149
|
-
unless @transitions.empty?
|
150
|
-
local = TimeOrDateTime.wrap(local)
|
151
|
-
index = transition_index(local.year, local.mon)
|
152
|
-
|
153
|
-
result = []
|
154
|
-
|
155
|
-
start_index = transition_after_start(index - 1)
|
156
|
-
if start_index && @transitions[start_index].local_end > local
|
157
|
-
if start_index > 0
|
158
|
-
if @transitions[start_index - 1].local_start <= local
|
159
|
-
result << TimezonePeriod.new(@transitions[start_index - 1], @transitions[start_index])
|
160
|
-
end
|
161
|
-
else
|
162
|
-
result << TimezonePeriod.new(nil, @transitions[start_index])
|
163
|
-
end
|
164
|
-
end
|
165
|
-
|
166
|
-
end_index = transition_before_end(index + 1)
|
167
|
-
|
168
|
-
if end_index
|
169
|
-
start_index = end_index unless start_index
|
170
|
-
|
171
|
-
start_index.upto(transition_before_end(index + 1)) do |i|
|
172
|
-
if @transitions[i].local_start <= local
|
173
|
-
if i + 1 < @transitions.length
|
174
|
-
if @transitions[i + 1].local_end > local
|
175
|
-
result << TimezonePeriod.new(@transitions[i], @transitions[i + 1])
|
176
|
-
end
|
177
|
-
else
|
178
|
-
result << TimezonePeriod.new(@transitions[i], nil)
|
179
|
-
end
|
180
|
-
end
|
181
|
-
end
|
182
|
-
end
|
183
|
-
|
184
|
-
result
|
185
|
-
else
|
186
|
-
raise NoOffsetsDefined, 'No offsets have been defined' unless @previous_offset
|
187
|
-
[TimezonePeriod.new(nil, nil, @previous_offset)]
|
188
|
-
end
|
189
|
-
end
|
190
|
-
|
191
|
-
private
|
192
|
-
# Returns the index into the @transitions_index array for a given year
|
193
|
-
# and month.
|
194
|
-
def transition_index(year, month)
|
195
|
-
index = (year - @start_year) * 2
|
196
|
-
index += 1 if month > 6
|
197
|
-
index -= 1 if @start_month > 6
|
198
|
-
index
|
199
|
-
end
|
200
|
-
|
201
|
-
# Returns the index into @transitions of the first transition that occurs
|
202
|
-
# on or after the start of the given index into @transitions_index.
|
203
|
-
# Returns nil if there are no such transitions.
|
204
|
-
def transition_after_start(index)
|
205
|
-
if index >= @transitions_index.length
|
206
|
-
nil
|
207
|
-
else
|
208
|
-
index = 0 if index < 0
|
209
|
-
@transitions_index[index]
|
210
|
-
end
|
211
|
-
end
|
212
|
-
|
213
|
-
# Returns the index into @transitions of the first transition that occurs
|
214
|
-
# before the end of the given index into @transitions_index.
|
215
|
-
# Returns nil if there are no such transitions.
|
216
|
-
def transition_before_end(index)
|
217
|
-
index = index + 1
|
218
|
-
|
219
|
-
if index <= 0
|
220
|
-
nil
|
221
|
-
elsif index >= @transitions_index.length
|
222
|
-
@transitions.length - 1
|
223
|
-
else
|
224
|
-
@transitions_index[index] - 1
|
225
|
-
end
|
226
|
-
end
|
227
|
-
end
|
228
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
require 'tzinfo/timezone_definition'
|
2
|
-
|
3
|
-
module TZInfo
|
4
|
-
module Definitions
|
5
|
-
module Africa
|
6
|
-
module Algiers
|
7
|
-
include TimezoneDefinition
|
8
|
-
|
9
|
-
timezone 'Africa/Algiers' do |tz|
|
10
|
-
tz.offset :o0, 732, 0, :LMT
|
11
|
-
tz.offset :o1, 561, 0, :PMT
|
12
|
-
tz.offset :o2, 0, 0, :WET
|
13
|
-
tz.offset :o3, 0, 3600, :WEST
|
14
|
-
tz.offset :o4, 3600, 0, :CET
|
15
|
-
tz.offset :o5, 3600, 3600, :CEST
|
16
|
-
|
17
|
-
tz.transition 1891, 3, :o1, 2170625843, 900
|
18
|
-
tz.transition 1911, 3, :o2, 69670267013, 28800
|
19
|
-
tz.transition 1916, 6, :o3, 58104707, 24
|
20
|
-
tz.transition 1916, 10, :o2, 58107323, 24
|
21
|
-
tz.transition 1917, 3, :o3, 58111499, 24
|
22
|
-
tz.transition 1917, 10, :o2, 58116227, 24
|
23
|
-
tz.transition 1918, 3, :o3, 58119899, 24
|
24
|
-
tz.transition 1918, 10, :o2, 58124963, 24
|
25
|
-
tz.transition 1919, 3, :o3, 58128467, 24
|
26
|
-
tz.transition 1919, 10, :o2, 58133699, 24
|
27
|
-
tz.transition 1920, 2, :o3, 58136867, 24
|
28
|
-
tz.transition 1920, 10, :o2, 58142915, 24
|
29
|
-
tz.transition 1921, 3, :o3, 58146323, 24
|
30
|
-
tz.transition 1921, 6, :o2, 58148699, 24
|
31
|
-
tz.transition 1939, 9, :o3, 58308443, 24
|
32
|
-
tz.transition 1939, 11, :o2, 4859173, 2
|
33
|
-
tz.transition 1940, 2, :o4, 29156215, 12
|
34
|
-
tz.transition 1944, 4, :o5, 58348405, 24
|
35
|
-
tz.transition 1944, 10, :o4, 4862743, 2
|
36
|
-
tz.transition 1945, 4, :o5, 58357141, 24
|
37
|
-
tz.transition 1945, 9, :o4, 58361147, 24
|
38
|
-
tz.transition 1946, 10, :o2, 58370411, 24
|
39
|
-
tz.transition 1956, 1, :o4, 4871003, 2
|
40
|
-
tz.transition 1963, 4, :o2, 58515203, 24
|
41
|
-
tz.transition 1971, 4, :o3, 41468400
|
42
|
-
tz.transition 1971, 9, :o2, 54774000
|
43
|
-
tz.transition 1977, 5, :o3, 231724800
|
44
|
-
tz.transition 1977, 10, :o4, 246236400
|
45
|
-
tz.transition 1978, 3, :o5, 259545600
|
46
|
-
tz.transition 1978, 9, :o4, 275274000
|
47
|
-
tz.transition 1979, 10, :o2, 309740400
|
48
|
-
tz.transition 1980, 4, :o3, 325468800
|
49
|
-
tz.transition 1980, 10, :o2, 341802000
|
50
|
-
tz.transition 1981, 5, :o4, 357523200
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
@@ -1,219 +0,0 @@
|
|
1
|
-
require 'tzinfo/timezone_definition'
|
2
|
-
|
3
|
-
module TZInfo
|
4
|
-
module Definitions
|
5
|
-
module Africa
|
6
|
-
module Cairo
|
7
|
-
include TimezoneDefinition
|
8
|
-
|
9
|
-
timezone 'Africa/Cairo' do |tz|
|
10
|
-
tz.offset :o0, 7500, 0, :LMT
|
11
|
-
tz.offset :o1, 7200, 0, :EET
|
12
|
-
tz.offset :o2, 7200, 3600, :EEST
|
13
|
-
|
14
|
-
tz.transition 1900, 9, :o1, 695604503, 288
|
15
|
-
tz.transition 1940, 7, :o2, 29157905, 12
|
16
|
-
tz.transition 1940, 9, :o1, 19439227, 8
|
17
|
-
tz.transition 1941, 4, :o2, 29161193, 12
|
18
|
-
tz.transition 1941, 9, :o1, 19442027, 8
|
19
|
-
tz.transition 1942, 3, :o2, 29165405, 12
|
20
|
-
tz.transition 1942, 10, :o1, 19445275, 8
|
21
|
-
tz.transition 1943, 3, :o2, 29169785, 12
|
22
|
-
tz.transition 1943, 10, :o1, 19448235, 8
|
23
|
-
tz.transition 1944, 3, :o2, 29174177, 12
|
24
|
-
tz.transition 1944, 10, :o1, 19451163, 8
|
25
|
-
tz.transition 1945, 4, :o2, 29178737, 12
|
26
|
-
tz.transition 1945, 10, :o1, 19454083, 8
|
27
|
-
tz.transition 1957, 5, :o2, 29231621, 12
|
28
|
-
tz.transition 1957, 9, :o1, 19488899, 8
|
29
|
-
tz.transition 1958, 4, :o2, 29235893, 12
|
30
|
-
tz.transition 1958, 9, :o1, 19491819, 8
|
31
|
-
tz.transition 1959, 4, :o2, 58480547, 24
|
32
|
-
tz.transition 1959, 9, :o1, 4873683, 2
|
33
|
-
tz.transition 1960, 4, :o2, 58489331, 24
|
34
|
-
tz.transition 1960, 9, :o1, 4874415, 2
|
35
|
-
tz.transition 1961, 4, :o2, 58498091, 24
|
36
|
-
tz.transition 1961, 9, :o1, 4875145, 2
|
37
|
-
tz.transition 1962, 4, :o2, 58506851, 24
|
38
|
-
tz.transition 1962, 9, :o1, 4875875, 2
|
39
|
-
tz.transition 1963, 4, :o2, 58515611, 24
|
40
|
-
tz.transition 1963, 9, :o1, 4876605, 2
|
41
|
-
tz.transition 1964, 4, :o2, 58524395, 24
|
42
|
-
tz.transition 1964, 9, :o1, 4877337, 2
|
43
|
-
tz.transition 1965, 4, :o2, 58533155, 24
|
44
|
-
tz.transition 1965, 9, :o1, 4878067, 2
|
45
|
-
tz.transition 1966, 4, :o2, 58541915, 24
|
46
|
-
tz.transition 1966, 10, :o1, 4878799, 2
|
47
|
-
tz.transition 1967, 4, :o2, 58550675, 24
|
48
|
-
tz.transition 1967, 10, :o1, 4879529, 2
|
49
|
-
tz.transition 1968, 4, :o2, 58559459, 24
|
50
|
-
tz.transition 1968, 10, :o1, 4880261, 2
|
51
|
-
tz.transition 1969, 4, :o2, 58568219, 24
|
52
|
-
tz.transition 1969, 10, :o1, 4880991, 2
|
53
|
-
tz.transition 1970, 4, :o2, 10364400
|
54
|
-
tz.transition 1970, 10, :o1, 23587200
|
55
|
-
tz.transition 1971, 4, :o2, 41900400
|
56
|
-
tz.transition 1971, 10, :o1, 55123200
|
57
|
-
tz.transition 1972, 4, :o2, 73522800
|
58
|
-
tz.transition 1972, 10, :o1, 86745600
|
59
|
-
tz.transition 1973, 4, :o2, 105058800
|
60
|
-
tz.transition 1973, 10, :o1, 118281600
|
61
|
-
tz.transition 1974, 4, :o2, 136594800
|
62
|
-
tz.transition 1974, 10, :o1, 149817600
|
63
|
-
tz.transition 1975, 4, :o2, 168130800
|
64
|
-
tz.transition 1975, 10, :o1, 181353600
|
65
|
-
tz.transition 1976, 4, :o2, 199753200
|
66
|
-
tz.transition 1976, 10, :o1, 212976000
|
67
|
-
tz.transition 1977, 4, :o2, 231289200
|
68
|
-
tz.transition 1977, 10, :o1, 244512000
|
69
|
-
tz.transition 1978, 4, :o2, 262825200
|
70
|
-
tz.transition 1978, 10, :o1, 276048000
|
71
|
-
tz.transition 1979, 4, :o2, 294361200
|
72
|
-
tz.transition 1979, 10, :o1, 307584000
|
73
|
-
tz.transition 1980, 4, :o2, 325983600
|
74
|
-
tz.transition 1980, 10, :o1, 339206400
|
75
|
-
tz.transition 1981, 4, :o2, 357519600
|
76
|
-
tz.transition 1981, 10, :o1, 370742400
|
77
|
-
tz.transition 1982, 7, :o2, 396399600
|
78
|
-
tz.transition 1982, 10, :o1, 402278400
|
79
|
-
tz.transition 1983, 7, :o2, 426812400
|
80
|
-
tz.transition 1983, 10, :o1, 433814400
|
81
|
-
tz.transition 1984, 4, :o2, 452214000
|
82
|
-
tz.transition 1984, 10, :o1, 465436800
|
83
|
-
tz.transition 1985, 4, :o2, 483750000
|
84
|
-
tz.transition 1985, 10, :o1, 496972800
|
85
|
-
tz.transition 1986, 4, :o2, 515286000
|
86
|
-
tz.transition 1986, 10, :o1, 528508800
|
87
|
-
tz.transition 1987, 4, :o2, 546822000
|
88
|
-
tz.transition 1987, 10, :o1, 560044800
|
89
|
-
tz.transition 1988, 4, :o2, 578444400
|
90
|
-
tz.transition 1988, 10, :o1, 591667200
|
91
|
-
tz.transition 1989, 5, :o2, 610412400
|
92
|
-
tz.transition 1989, 10, :o1, 623203200
|
93
|
-
tz.transition 1990, 4, :o2, 641516400
|
94
|
-
tz.transition 1990, 10, :o1, 654739200
|
95
|
-
tz.transition 1991, 4, :o2, 673052400
|
96
|
-
tz.transition 1991, 10, :o1, 686275200
|
97
|
-
tz.transition 1992, 4, :o2, 704674800
|
98
|
-
tz.transition 1992, 10, :o1, 717897600
|
99
|
-
tz.transition 1993, 4, :o2, 736210800
|
100
|
-
tz.transition 1993, 10, :o1, 749433600
|
101
|
-
tz.transition 1994, 4, :o2, 767746800
|
102
|
-
tz.transition 1994, 10, :o1, 780969600
|
103
|
-
tz.transition 1995, 4, :o2, 799020000
|
104
|
-
tz.transition 1995, 9, :o1, 812322000
|
105
|
-
tz.transition 1996, 4, :o2, 830469600
|
106
|
-
tz.transition 1996, 9, :o1, 843771600
|
107
|
-
tz.transition 1997, 4, :o2, 861919200
|
108
|
-
tz.transition 1997, 9, :o1, 875221200
|
109
|
-
tz.transition 1998, 4, :o2, 893368800
|
110
|
-
tz.transition 1998, 9, :o1, 906670800
|
111
|
-
tz.transition 1999, 4, :o2, 925423200
|
112
|
-
tz.transition 1999, 9, :o1, 938725200
|
113
|
-
tz.transition 2000, 4, :o2, 956872800
|
114
|
-
tz.transition 2000, 9, :o1, 970174800
|
115
|
-
tz.transition 2001, 4, :o2, 988322400
|
116
|
-
tz.transition 2001, 9, :o1, 1001624400
|
117
|
-
tz.transition 2002, 4, :o2, 1019772000
|
118
|
-
tz.transition 2002, 9, :o1, 1033074000
|
119
|
-
tz.transition 2003, 4, :o2, 1051221600
|
120
|
-
tz.transition 2003, 9, :o1, 1064523600
|
121
|
-
tz.transition 2004, 4, :o2, 1083276000
|
122
|
-
tz.transition 2004, 9, :o1, 1096578000
|
123
|
-
tz.transition 2005, 4, :o2, 1114725600
|
124
|
-
tz.transition 2005, 9, :o1, 1128027600
|
125
|
-
tz.transition 2006, 4, :o2, 1146175200
|
126
|
-
tz.transition 2006, 9, :o1, 1158872400
|
127
|
-
tz.transition 2007, 4, :o2, 1177624800
|
128
|
-
tz.transition 2007, 9, :o1, 1189112400
|
129
|
-
tz.transition 2008, 4, :o2, 1209074400
|
130
|
-
tz.transition 2008, 8, :o1, 1219957200
|
131
|
-
tz.transition 2009, 4, :o2, 1240524000
|
132
|
-
tz.transition 2009, 8, :o1, 1251406800
|
133
|
-
tz.transition 2010, 4, :o2, 1272578400
|
134
|
-
tz.transition 2010, 8, :o1, 1282856400
|
135
|
-
tz.transition 2011, 4, :o2, 1304028000
|
136
|
-
tz.transition 2011, 8, :o1, 1314306000
|
137
|
-
tz.transition 2012, 4, :o2, 1335477600
|
138
|
-
tz.transition 2012, 8, :o1, 1346360400
|
139
|
-
tz.transition 2013, 4, :o2, 1366927200
|
140
|
-
tz.transition 2013, 8, :o1, 1377810000
|
141
|
-
tz.transition 2014, 4, :o2, 1398376800
|
142
|
-
tz.transition 2014, 8, :o1, 1409259600
|
143
|
-
tz.transition 2015, 4, :o2, 1429826400
|
144
|
-
tz.transition 2015, 8, :o1, 1440709200
|
145
|
-
tz.transition 2016, 4, :o2, 1461880800
|
146
|
-
tz.transition 2016, 8, :o1, 1472158800
|
147
|
-
tz.transition 2017, 4, :o2, 1493330400
|
148
|
-
tz.transition 2017, 8, :o1, 1504213200
|
149
|
-
tz.transition 2018, 4, :o2, 1524780000
|
150
|
-
tz.transition 2018, 8, :o1, 1535662800
|
151
|
-
tz.transition 2019, 4, :o2, 1556229600
|
152
|
-
tz.transition 2019, 8, :o1, 1567112400
|
153
|
-
tz.transition 2020, 4, :o2, 1587679200
|
154
|
-
tz.transition 2020, 8, :o1, 1598562000
|
155
|
-
tz.transition 2021, 4, :o2, 1619733600
|
156
|
-
tz.transition 2021, 8, :o1, 1630011600
|
157
|
-
tz.transition 2022, 4, :o2, 1651183200
|
158
|
-
tz.transition 2022, 8, :o1, 1661461200
|
159
|
-
tz.transition 2023, 4, :o2, 1682632800
|
160
|
-
tz.transition 2023, 8, :o1, 1693515600
|
161
|
-
tz.transition 2024, 4, :o2, 1714082400
|
162
|
-
tz.transition 2024, 8, :o1, 1724965200
|
163
|
-
tz.transition 2025, 4, :o2, 1745532000
|
164
|
-
tz.transition 2025, 8, :o1, 1756414800
|
165
|
-
tz.transition 2026, 4, :o2, 1776981600
|
166
|
-
tz.transition 2026, 8, :o1, 1787864400
|
167
|
-
tz.transition 2027, 4, :o2, 1809036000
|
168
|
-
tz.transition 2027, 8, :o1, 1819314000
|
169
|
-
tz.transition 2028, 4, :o2, 1840485600
|
170
|
-
tz.transition 2028, 8, :o1, 1851368400
|
171
|
-
tz.transition 2029, 4, :o2, 1871935200
|
172
|
-
tz.transition 2029, 8, :o1, 1882818000
|
173
|
-
tz.transition 2030, 4, :o2, 1903384800
|
174
|
-
tz.transition 2030, 8, :o1, 1914267600
|
175
|
-
tz.transition 2031, 4, :o2, 1934834400
|
176
|
-
tz.transition 2031, 8, :o1, 1945717200
|
177
|
-
tz.transition 2032, 4, :o2, 1966888800
|
178
|
-
tz.transition 2032, 8, :o1, 1977166800
|
179
|
-
tz.transition 2033, 4, :o2, 1998338400
|
180
|
-
tz.transition 2033, 8, :o1, 2008616400
|
181
|
-
tz.transition 2034, 4, :o2, 2029788000
|
182
|
-
tz.transition 2034, 8, :o1, 2040670800
|
183
|
-
tz.transition 2035, 4, :o2, 2061237600
|
184
|
-
tz.transition 2035, 8, :o1, 2072120400
|
185
|
-
tz.transition 2036, 4, :o2, 2092687200
|
186
|
-
tz.transition 2036, 8, :o1, 2103570000
|
187
|
-
tz.transition 2037, 4, :o2, 2124136800
|
188
|
-
tz.transition 2037, 8, :o1, 2135019600
|
189
|
-
tz.transition 2038, 4, :o2, 29586521, 12
|
190
|
-
tz.transition 2038, 8, :o1, 19725299, 8
|
191
|
-
tz.transition 2039, 4, :o2, 29590889, 12
|
192
|
-
tz.transition 2039, 8, :o1, 19728211, 8
|
193
|
-
tz.transition 2040, 4, :o2, 29595257, 12
|
194
|
-
tz.transition 2040, 8, :o1, 19731179, 8
|
195
|
-
tz.transition 2041, 4, :o2, 29599625, 12
|
196
|
-
tz.transition 2041, 8, :o1, 19734091, 8
|
197
|
-
tz.transition 2042, 4, :o2, 29603993, 12
|
198
|
-
tz.transition 2042, 8, :o1, 19737003, 8
|
199
|
-
tz.transition 2043, 4, :o2, 29608361, 12
|
200
|
-
tz.transition 2043, 8, :o1, 19739915, 8
|
201
|
-
tz.transition 2044, 4, :o2, 29612813, 12
|
202
|
-
tz.transition 2044, 8, :o1, 19742827, 8
|
203
|
-
tz.transition 2045, 4, :o2, 29617181, 12
|
204
|
-
tz.transition 2045, 8, :o1, 19745795, 8
|
205
|
-
tz.transition 2046, 4, :o2, 29621549, 12
|
206
|
-
tz.transition 2046, 8, :o1, 19748707, 8
|
207
|
-
tz.transition 2047, 4, :o2, 29625917, 12
|
208
|
-
tz.transition 2047, 8, :o1, 19751619, 8
|
209
|
-
tz.transition 2048, 4, :o2, 29630285, 12
|
210
|
-
tz.transition 2048, 8, :o1, 19754531, 8
|
211
|
-
tz.transition 2049, 4, :o2, 29634737, 12
|
212
|
-
tz.transition 2049, 8, :o1, 19757443, 8
|
213
|
-
tz.transition 2050, 4, :o2, 29639105, 12
|
214
|
-
tz.transition 2050, 8, :o1, 19760355, 8
|
215
|
-
end
|
216
|
-
end
|
217
|
-
end
|
218
|
-
end
|
219
|
-
end
|