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,14 +0,0 @@
|
|
1
|
-
module ActiveSupport
|
2
|
-
module Cache
|
3
|
-
class DRbStore < MemoryStore #:nodoc:
|
4
|
-
attr_reader :address
|
5
|
-
|
6
|
-
def initialize(address = 'druby://localhost:9192')
|
7
|
-
require 'drb' unless defined?(DRbObject)
|
8
|
-
super()
|
9
|
-
@address = address
|
10
|
-
@data = DRbObject.new(nil, address)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
module ActiveSupport #:nodoc:
|
2
|
-
module CoreExtensions #:nodoc:
|
3
|
-
module Array #:nodoc:
|
4
|
-
module Wrapper
|
5
|
-
# Wraps the object in an Array unless it's an Array. Converts the
|
6
|
-
# object to an Array using #to_ary if it implements that.
|
7
|
-
def wrap(object)
|
8
|
-
case object
|
9
|
-
when nil
|
10
|
-
[]
|
11
|
-
when self
|
12
|
-
object
|
13
|
-
else
|
14
|
-
if object.respond_to?(:to_ary)
|
15
|
-
object.to_ary
|
16
|
-
else
|
17
|
-
[object]
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module ActiveSupport #:nodoc:
|
2
|
-
module CoreExtensions #:nodoc:
|
3
|
-
module Base64 #:nodoc:
|
4
|
-
module Encoding
|
5
|
-
# Encodes the value as base64 without the newline breaks. This makes the base64 encoding readily usable as URL parameters
|
6
|
-
# or memcache keys without further processing.
|
7
|
-
#
|
8
|
-
# ActiveSupport::Base64.encode64s("Original unencoded string")
|
9
|
-
# # => "T3JpZ2luYWwgdW5lbmNvZGVkIHN0cmluZw=="
|
10
|
-
def encode64s(value)
|
11
|
-
encode64(value).gsub(/\n/, '')
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
|
3
|
-
module ActiveSupport #:nodoc:
|
4
|
-
module CoreExtensions #:nodoc:
|
5
|
-
module BigDecimal #:nodoc:
|
6
|
-
module Conversions
|
7
|
-
DEFAULT_STRING_FORMAT = 'F'.freeze
|
8
|
-
YAML_TAG = 'tag:yaml.org,2002:float'.freeze
|
9
|
-
YAML_MAPPING = { 'Infinity' => '.Inf', '-Infinity' => '-.Inf', 'NaN' => '.NaN' }
|
10
|
-
|
11
|
-
def self.included(base) #:nodoc:
|
12
|
-
base.class_eval do
|
13
|
-
alias_method :_original_to_s, :to_s
|
14
|
-
alias_method :to_s, :to_formatted_s
|
15
|
-
|
16
|
-
yaml_as YAML_TAG
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def to_formatted_s(format = DEFAULT_STRING_FORMAT)
|
21
|
-
_original_to_s(format)
|
22
|
-
end
|
23
|
-
|
24
|
-
# This emits the number without any scientific notation.
|
25
|
-
# This is better than self.to_f.to_s since it doesn't lose precision.
|
26
|
-
#
|
27
|
-
# Note that reconstituting YAML floats to native floats may lose precision.
|
28
|
-
def to_yaml(opts = {})
|
29
|
-
YAML.quick_emit(nil, opts) do |out|
|
30
|
-
string = to_s
|
31
|
-
out.scalar(YAML_TAG, YAML_MAPPING[string] || string, :plain)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
class Class #:nodoc:
|
2
|
-
|
3
|
-
# Unassociates the class with its subclasses and removes the subclasses
|
4
|
-
# themselves.
|
5
|
-
#
|
6
|
-
# Integer.remove_subclasses # => [Bignum, Fixnum]
|
7
|
-
# Fixnum # => NameError: uninitialized constant Fixnum
|
8
|
-
def remove_subclasses
|
9
|
-
Object.remove_subclasses_of(self)
|
10
|
-
end
|
11
|
-
|
12
|
-
# Returns an array with the names of the subclasses of +self+ as strings.
|
13
|
-
#
|
14
|
-
# Integer.subclasses # => ["Bignum", "Fixnum"]
|
15
|
-
def subclasses
|
16
|
-
Object.subclasses_of(self).map { |o| o.to_s }
|
17
|
-
end
|
18
|
-
|
19
|
-
# Removes the classes in +klasses+ from their parent module.
|
20
|
-
#
|
21
|
-
# Ordinary classes belong to some module via a constant. This method computes
|
22
|
-
# that constant name from the class name and removes it from the module it
|
23
|
-
# belongs to.
|
24
|
-
#
|
25
|
-
# Object.remove_class(Integer) # => [Integer]
|
26
|
-
# Integer # => NameError: uninitialized constant Integer
|
27
|
-
#
|
28
|
-
# Take into account that in general the class object could be still stored
|
29
|
-
# somewhere else.
|
30
|
-
#
|
31
|
-
# i = Integer # => Integer
|
32
|
-
# Object.remove_class(Integer) # => [Integer]
|
33
|
-
# Integer # => NameError: uninitialized constant Integer
|
34
|
-
# i.subclasses # => ["Bignum", "Fixnum"]
|
35
|
-
# Fixnum.superclass # => Integer
|
36
|
-
def remove_class(*klasses)
|
37
|
-
klasses.flatten.each do |klass|
|
38
|
-
# Skip this class if there is nothing bound to this name
|
39
|
-
next unless defined?(klass.name)
|
40
|
-
|
41
|
-
basename = klass.to_s.split("::").last
|
42
|
-
parent = klass.parent
|
43
|
-
|
44
|
-
# Skip this class if it does not match the current one bound to this name
|
45
|
-
next unless parent.const_defined?(basename) && klass = parent.const_get(basename)
|
46
|
-
|
47
|
-
parent.instance_eval { remove_const basename } unless parent == klass
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
require 'date'
|
2
|
-
require 'active_support/core_ext/date/behavior'
|
3
|
-
require 'active_support/core_ext/date/calculations'
|
4
|
-
require 'active_support/core_ext/date/conversions'
|
5
|
-
|
6
|
-
class Date#:nodoc:
|
7
|
-
include ActiveSupport::CoreExtensions::Date::Behavior
|
8
|
-
include ActiveSupport::CoreExtensions::Date::Calculations
|
9
|
-
include ActiveSupport::CoreExtensions::Date::Conversions
|
10
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
require 'date'
|
2
|
-
|
3
|
-
module ActiveSupport #:nodoc:
|
4
|
-
module CoreExtensions #:nodoc:
|
5
|
-
module Date #:nodoc:
|
6
|
-
module Behavior
|
7
|
-
# Enable more predictable duck-typing on Date-like classes. See
|
8
|
-
# Object#acts_like?.
|
9
|
-
def acts_like_date?
|
10
|
-
true
|
11
|
-
end
|
12
|
-
|
13
|
-
# Date memoizes some instance methods using metaprogramming to wrap
|
14
|
-
# the methods with one that caches the result in an instance variable.
|
15
|
-
#
|
16
|
-
# If a Date is frozen but the memoized method hasn't been called, the
|
17
|
-
# first call will result in a frozen object error since the memo
|
18
|
-
# instance variable is uninitialized.
|
19
|
-
#
|
20
|
-
# Work around by eagerly memoizing before freezing.
|
21
|
-
#
|
22
|
-
# Ruby 1.9 uses a preinitialized instance variable so it's unaffected.
|
23
|
-
# This hack is as close as we can get to feature detection:
|
24
|
-
begin
|
25
|
-
::Date.today.freeze.jd
|
26
|
-
rescue => frozen_object_error
|
27
|
-
if frozen_object_error.message =~ /frozen/
|
28
|
-
def freeze #:nodoc:
|
29
|
-
self.class.private_instance_methods(false).each do |m|
|
30
|
-
if m.to_s =~ /\A__\d+__\Z/
|
31
|
-
instance_variable_set(:"@#{m}", [send(m)])
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
super
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'date'
|
2
|
-
require 'active_support/core_ext/time/behavior'
|
3
|
-
require 'active_support/core_ext/time/zones'
|
4
|
-
require 'active_support/core_ext/date_time/calculations'
|
5
|
-
require 'active_support/core_ext/date_time/conversions'
|
6
|
-
|
7
|
-
class DateTime
|
8
|
-
include ActiveSupport::CoreExtensions::Time::Behavior
|
9
|
-
include ActiveSupport::CoreExtensions::Time::Zones
|
10
|
-
include ActiveSupport::CoreExtensions::DateTime::Calculations
|
11
|
-
include ActiveSupport::CoreExtensions::DateTime::Conversions
|
12
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
class Object
|
2
|
-
# Can you safely .dup this object?
|
3
|
-
# False for nil, false, true, symbols, and numbers; true otherwise.
|
4
|
-
def duplicable?
|
5
|
-
true
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
class NilClass #:nodoc:
|
10
|
-
def duplicable?
|
11
|
-
false
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
class FalseClass #:nodoc:
|
16
|
-
def duplicable?
|
17
|
-
false
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
class TrueClass #:nodoc:
|
22
|
-
def duplicable?
|
23
|
-
false
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
class Symbol #:nodoc:
|
28
|
-
def duplicable?
|
29
|
-
false
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
class Numeric #:nodoc:
|
34
|
-
def duplicable?
|
35
|
-
false
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
class Class #:nodoc:
|
40
|
-
def duplicable?
|
41
|
-
false
|
42
|
-
end
|
43
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
module ActiveSupport #:nodoc:
|
2
|
-
module CoreExtensions #:nodoc:
|
3
|
-
module Float #:nodoc:
|
4
|
-
module Time
|
5
|
-
# Deprication helper methods not available as core_ext is loaded first.
|
6
|
-
def years
|
7
|
-
::ActiveSupport::Deprecation.warn(self.class.deprecated_method_warning(:years, "Fractional years are not respected. Convert value to integer before calling #years."), caller)
|
8
|
-
years_without_deprecation
|
9
|
-
end
|
10
|
-
def months
|
11
|
-
::ActiveSupport::Deprecation.warn(self.class.deprecated_method_warning(:months, "Fractional months are not respected. Convert value to integer before calling #months."), caller)
|
12
|
-
months_without_deprecation
|
13
|
-
end
|
14
|
-
|
15
|
-
def months_without_deprecation
|
16
|
-
ActiveSupport::Duration.new(self * 30.days, [[:months, self]])
|
17
|
-
end
|
18
|
-
alias :month :months
|
19
|
-
|
20
|
-
def years_without_deprecation
|
21
|
-
ActiveSupport::Duration.new(self * 365.25.days, [[:years, self]])
|
22
|
-
end
|
23
|
-
alias :year :years
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module ActiveSupport #:nodoc:
|
2
|
-
module CoreExtensions #:nodoc:
|
3
|
-
module Integer #:nodoc:
|
4
|
-
# For checking if a fixnum is even or odd.
|
5
|
-
#
|
6
|
-
# 2.even? # => true
|
7
|
-
# 2.odd? # => false
|
8
|
-
# 1.even? # => false
|
9
|
-
# 1.odd? # => true
|
10
|
-
# 0.even? # => true
|
11
|
-
# 0.odd? # => false
|
12
|
-
# -1.even? # => false
|
13
|
-
# -1.odd? # => true
|
14
|
-
module EvenOdd
|
15
|
-
def multiple_of?(number)
|
16
|
-
self % number == 0
|
17
|
-
end
|
18
|
-
|
19
|
-
def even?
|
20
|
-
multiple_of? 2
|
21
|
-
end if RUBY_VERSION < '1.9'
|
22
|
-
|
23
|
-
def odd?
|
24
|
-
!even?
|
25
|
-
end if RUBY_VERSION < '1.9'
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
module Kernel
|
2
|
-
# Returns the object's singleton class.
|
3
|
-
def singleton_class
|
4
|
-
class << self
|
5
|
-
self
|
6
|
-
end
|
7
|
-
end unless respond_to?(:singleton_class) # exists in 1.9.2
|
8
|
-
|
9
|
-
# class_eval on an object acts like singleton_class.class_eval.
|
10
|
-
def class_eval(*args, &block)
|
11
|
-
singleton_class.class_eval(*args, &block)
|
12
|
-
end
|
13
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
module ActiveSupport
|
2
|
-
class ModelName < String
|
3
|
-
attr_reader :singular, :plural, :element, :collection, :partial_path
|
4
|
-
alias_method :cache_key, :collection
|
5
|
-
|
6
|
-
def initialize(name)
|
7
|
-
super
|
8
|
-
@singular = ActiveSupport::Inflector.underscore(self).tr('/', '_').freeze
|
9
|
-
@plural = ActiveSupport::Inflector.pluralize(@singular).freeze
|
10
|
-
@element = ActiveSupport::Inflector.underscore(ActiveSupport::Inflector.demodulize(self)).freeze
|
11
|
-
@collection = ActiveSupport::Inflector.tableize(self).freeze
|
12
|
-
@partial_path = "#{@collection}/#{@element}".freeze
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
module CoreExtensions
|
17
|
-
module Module
|
18
|
-
# Returns an ActiveSupport::ModelName object for module. It can be
|
19
|
-
# used to retrieve all kinds of naming-related information.
|
20
|
-
def model_name
|
21
|
-
@model_name ||= ::ActiveSupport::ModelName.new(name)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module ActiveSupport #:nodoc:
|
2
|
-
module CoreExtensions #:nodoc:
|
3
|
-
module Numeric #:nodoc:
|
4
|
-
module Conversions
|
5
|
-
# Assumes self represents an offset from UTC in seconds (as returned from Time#utc_offset)
|
6
|
-
# and turns this into an +HH:MM formatted string. Example:
|
7
|
-
#
|
8
|
-
# -21_600.to_utc_offset_s # => "-06:00"
|
9
|
-
def to_utc_offset_s(colon=true)
|
10
|
-
seconds = self
|
11
|
-
sign = (seconds < 0 ? '-' : '+')
|
12
|
-
hours = seconds.abs / 3600
|
13
|
-
minutes = (seconds.abs % 3600) / 60
|
14
|
-
"%s%02d%s%02d" % [ sign, hours, colon ? ":" : "", minutes ]
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,80 +0,0 @@
|
|
1
|
-
class Object
|
2
|
-
def remove_subclasses_of(*superclasses) #:nodoc:
|
3
|
-
Class.remove_class(*subclasses_of(*superclasses))
|
4
|
-
end
|
5
|
-
|
6
|
-
begin
|
7
|
-
ObjectSpace.each_object(Class.new) {}
|
8
|
-
|
9
|
-
# Exclude this class unless it's a subclass of our supers and is defined.
|
10
|
-
# We check defined? in case we find a removed class that has yet to be
|
11
|
-
# garbage collected. This also fails for anonymous classes -- please
|
12
|
-
# submit a patch if you have a workaround.
|
13
|
-
def subclasses_of(*superclasses) #:nodoc:
|
14
|
-
subclasses = []
|
15
|
-
|
16
|
-
superclasses.each do |sup|
|
17
|
-
ObjectSpace.each_object(class << sup; self; end) do |k|
|
18
|
-
if k != sup && (k.name.blank? || eval("defined?(::#{k}) && ::#{k}.object_id == k.object_id"))
|
19
|
-
subclasses << k
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
subclasses
|
25
|
-
end
|
26
|
-
rescue RuntimeError
|
27
|
-
# JRuby and any implementations which cannot handle the objectspace traversal
|
28
|
-
# above fall back to this implementation
|
29
|
-
def subclasses_of(*superclasses) #:nodoc:
|
30
|
-
subclasses = []
|
31
|
-
|
32
|
-
superclasses.each do |sup|
|
33
|
-
ObjectSpace.each_object(Class) do |k|
|
34
|
-
if superclasses.any? { |superclass| k < superclass } &&
|
35
|
-
(k.name.blank? || eval("defined?(::#{k}) && ::#{k}.object_id == k.object_id"))
|
36
|
-
subclasses << k
|
37
|
-
end
|
38
|
-
end
|
39
|
-
subclasses.uniq!
|
40
|
-
end
|
41
|
-
subclasses
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def extended_by #:nodoc:
|
46
|
-
ancestors = class << self; ancestors end
|
47
|
-
ancestors.select { |mod| mod.class == Module } - [ Object, Kernel ]
|
48
|
-
end
|
49
|
-
|
50
|
-
def extend_with_included_modules_from(object) #:nodoc:
|
51
|
-
object.extended_by.each { |mod| extend mod }
|
52
|
-
end
|
53
|
-
|
54
|
-
unless defined? instance_exec # 1.9
|
55
|
-
module InstanceExecMethods #:nodoc:
|
56
|
-
end
|
57
|
-
include InstanceExecMethods
|
58
|
-
|
59
|
-
# Evaluate the block with the given arguments within the context of
|
60
|
-
# this object, so self is set to the method receiver.
|
61
|
-
#
|
62
|
-
# From Mauricio's http://eigenclass.org/hiki/bounded+space+instance_exec
|
63
|
-
def instance_exec(*args, &block)
|
64
|
-
begin
|
65
|
-
old_critical, Thread.critical = Thread.critical, true
|
66
|
-
n = 0
|
67
|
-
n += 1 while respond_to?(method_name = "__instance_exec#{n}")
|
68
|
-
InstanceExecMethods.module_eval { define_method(method_name, &block) }
|
69
|
-
ensure
|
70
|
-
Thread.critical = old_critical
|
71
|
-
end
|
72
|
-
|
73
|
-
begin
|
74
|
-
send(method_name, *args)
|
75
|
-
ensure
|
76
|
-
InstanceExecMethods.module_eval { remove_method(method_name) } rescue nil
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|