From f28bd9557c669cd63c31704202a46dd83f0a4102 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Wed, 22 Apr 2009 17:41:28 -0700 Subject: Fix dependencies revealed by testing in isolation --- activesupport/lib/active_support/cache.rb | 1 + activesupport/lib/active_support/cache/strategy/local_cache.rb | 2 ++ activesupport/lib/active_support/callbacks.rb | 2 ++ activesupport/lib/active_support/core_ext/array/conversions.rb | 6 +++++- .../lib/active_support/core_ext/class/inheritable_attributes.rb | 4 +++- activesupport/lib/active_support/core_ext/class/removal.rb | 3 +++ activesupport/lib/active_support/core_ext/date/calculations.rb | 2 ++ activesupport/lib/active_support/core_ext/date/conversions.rb | 2 ++ activesupport/lib/active_support/core_ext/date_time.rb | 3 +-- activesupport/lib/active_support/core_ext/hash/conversions.rb | 2 ++ activesupport/lib/active_support/core_ext/logger.rb | 5 +++-- activesupport/lib/active_support/core_ext/module/attr_internal.rb | 8 ++++---- activesupport/lib/active_support/core_ext/module/introspection.rb | 6 ++++-- activesupport/lib/active_support/core_ext/module/model_naming.rb | 8 +++++--- .../lib/active_support/core_ext/module/synchronization.rb | 2 ++ activesupport/lib/active_support/core_ext/numeric/time.rb | 2 ++ activesupport/lib/active_support/core_ext/object.rb | 1 + activesupport/lib/active_support/core_ext/range/blockless_step.rb | 2 ++ activesupport/lib/active_support/core_ext/string/conversions.rb | 1 + activesupport/lib/active_support/core_ext/string/multibyte.rb | 1 + activesupport/lib/active_support/dependencies.rb | 8 +++++--- activesupport/lib/active_support/deprecation/method_wrappers.rb | 1 + activesupport/lib/active_support/deprecation/proxy_wrappers.rb | 4 +++- activesupport/lib/active_support/duration.rb | 1 + activesupport/lib/active_support/inflector.rb | 3 ++- activesupport/lib/active_support/json/encoders/time.rb | 2 ++ activesupport/lib/active_support/memoizable.rb | 2 ++ activesupport/lib/active_support/multibyte.rb | 2 ++ activesupport/lib/active_support/testing/assertions.rb | 2 ++ activesupport/lib/active_support/time_with_zone.rb | 2 +- activesupport/lib/active_support/xml_mini.rb | 2 ++ activesupport/lib/active_support/xml_mini/rexml.rb | 2 ++ 32 files changed, 73 insertions(+), 21 deletions(-) (limited to 'activesupport/lib') diff --git a/activesupport/lib/active_support/cache.rb b/activesupport/lib/active_support/cache.rb index 4b2eebb007..feb6b1f2cf 100644 --- a/activesupport/lib/active_support/cache.rb +++ b/activesupport/lib/active_support/cache.rb @@ -2,6 +2,7 @@ require 'benchmark' require 'active_support/core_ext/benchmark' require 'active_support/core_ext/exception' require 'active_support/core_ext/class/attribute_accessors' +require 'active_support/core_ext' # FIXME: pulling in all to_param extensions module ActiveSupport # See ActiveSupport::Cache::Store for documentation. diff --git a/activesupport/lib/active_support/cache/strategy/local_cache.rb b/activesupport/lib/active_support/cache/strategy/local_cache.rb index 84d9a0e6d8..4bbcd8e4c4 100644 --- a/activesupport/lib/active_support/cache/strategy/local_cache.rb +++ b/activesupport/lib/active_support/cache/strategy/local_cache.rb @@ -1,3 +1,5 @@ +require 'active_support/core_ext/object/duplicable' + module ActiveSupport module Cache module Strategy diff --git a/activesupport/lib/active_support/callbacks.rb b/activesupport/lib/active_support/callbacks.rb index 4bac8292e2..f049189b9a 100644 --- a/activesupport/lib/active_support/callbacks.rb +++ b/activesupport/lib/active_support/callbacks.rb @@ -1,3 +1,5 @@ +require 'active_support/core_ext/array/extract_options' + module ActiveSupport # Callbacks are hooks into the lifecycle of an object that allow you to trigger logic # before or after an alteration of the object state. diff --git a/activesupport/lib/active_support/core_ext/array/conversions.rb b/activesupport/lib/active_support/core_ext/array/conversions.rb index 81e466779e..5f1ce4142f 100644 --- a/activesupport/lib/active_support/core_ext/array/conversions.rb +++ b/activesupport/lib/active_support/core_ext/array/conversions.rb @@ -1,3 +1,7 @@ +require 'active_support/core_ext/hash/keys' +require 'active_support/core_ext/hash/reverse_merge' +require 'active_support/inflector' + class Array # Converts the array to a comma-separated sentence where the last element is joined by the connector word. Options: # * :words_connector - The sign or word used to join the elements in arrays with two or more elements (default: ", ") @@ -155,7 +159,7 @@ class Array raise "Not all elements respond to to_xml" unless all? { |e| e.respond_to? :to_xml } require 'builder' unless defined?(Builder) - options[:root] ||= all? { |e| e.is_a?(first.class) && first.class.to_s != "Hash" } ? first.class.to_s.underscore.pluralize : "records" + options[:root] ||= all? { |e| e.is_a?(first.class) && first.class.to_s != "Hash" } ? ActiveSupport::Inflector.pluralize(ActiveSupport::Inflector.underscore(first.class.name)) : "records" options[:children] ||= options[:root].singularize options[:indent] ||= 2 options[:builder] ||= Builder::XmlMarkup.new(:indent => options[:indent]) diff --git a/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb b/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb index 2f18666ab9..cca93a0b9f 100644 --- a/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb +++ b/activesupport/lib/active_support/core_ext/class/inheritable_attributes.rb @@ -1,3 +1,5 @@ +require 'active_support/core_ext/object/duplicable' + # Retain for backward compatibility. Methods are now included in Class. module ClassInheritableAttributes # :nodoc: end @@ -216,4 +218,4 @@ class Class extlib_inheritable_reader(*syms) extlib_inheritable_writer(*syms) end -end \ No newline at end of file +end diff --git a/activesupport/lib/active_support/core_ext/class/removal.rb b/activesupport/lib/active_support/core_ext/class/removal.rb index 10660edb2c..2dea3c24d5 100644 --- a/activesupport/lib/active_support/core_ext/class/removal.rb +++ b/activesupport/lib/active_support/core_ext/class/removal.rb @@ -1,3 +1,6 @@ +require 'active_support/core_ext/object/extending' +require 'active_support/core_ext/module/introspection' + class Class #:nodoc: # Unassociates the class with its subclasses and removes the subclasses diff --git a/activesupport/lib/active_support/core_ext/date/calculations.rb b/activesupport/lib/active_support/core_ext/date/calculations.rb index 59efdbd1b6..04a32edefd 100644 --- a/activesupport/lib/active_support/core_ext/date/calculations.rb +++ b/activesupport/lib/active_support/core_ext/date/calculations.rb @@ -1,3 +1,5 @@ +require 'active_support/duration' + class Date class << self # Returns a new Date representing the date 1 day ago (i.e. yesterday's date). diff --git a/activesupport/lib/active_support/core_ext/date/conversions.rb b/activesupport/lib/active_support/core_ext/date/conversions.rb index f6c870035b..54facf4430 100644 --- a/activesupport/lib/active_support/core_ext/date/conversions.rb +++ b/activesupport/lib/active_support/core_ext/date/conversions.rb @@ -1,4 +1,6 @@ require 'active_support/inflector' +require 'active_support/core_ext/time/conversions' +require 'active_support/core_ext/date_time/conversions' class Date DATE_FORMATS = { diff --git a/activesupport/lib/active_support/core_ext/date_time.rb b/activesupport/lib/active_support/core_ext/date_time.rb index 83a11da1c7..004fd0ad29 100644 --- a/activesupport/lib/active_support/core_ext/date_time.rb +++ b/activesupport/lib/active_support/core_ext/date_time.rb @@ -1,5 +1,4 @@ -require 'date' - +require 'active_support/core_ext/time' require 'active_support/core_ext/date_time/acts_like' require 'active_support/core_ext/date_time/calculations' require 'active_support/core_ext/date_time/conversions' diff --git a/activesupport/lib/active_support/core_ext/hash/conversions.rb b/activesupport/lib/active_support/core_ext/hash/conversions.rb index fa171720f9..f9dddec687 100644 --- a/activesupport/lib/active_support/core_ext/hash/conversions.rb +++ b/activesupport/lib/active_support/core_ext/hash/conversions.rb @@ -1,6 +1,8 @@ require 'date' require 'active_support/core_ext/object/conversions' require 'active_support/core_ext/array/conversions' +require 'active_support/core_ext/hash/reverse_merge' +require 'active_support/core/time' class Hash # This module exists to decorate files deserialized using Hash.from_xml with diff --git a/activesupport/lib/active_support/core_ext/logger.rb b/activesupport/lib/active_support/core_ext/logger.rb index 858da7aa07..22749229a3 100644 --- a/activesupport/lib/active_support/core_ext/logger.rb +++ b/activesupport/lib/active_support/core_ext/logger.rb @@ -1,6 +1,7 @@ -# Adds the 'around_level' method to Logger. +require 'active_support/core_ext/class/attribute_accessors' -class Logger +# Adds the 'around_level' method to Logger. +class Logger #:nodoc: def self.define_around_helper(level) module_eval <<-end_eval def around_#{level}(before_message, after_message, &block) # def around_debug(before_message, after_message, &block) diff --git a/activesupport/lib/active_support/core_ext/module/attr_internal.rb b/activesupport/lib/active_support/core_ext/module/attr_internal.rb index b66c0d7500..d052bfed2d 100644 --- a/activesupport/lib/active_support/core_ext/module/attr_internal.rb +++ b/activesupport/lib/active_support/core_ext/module/attr_internal.rb @@ -22,11 +22,11 @@ class Module alias_method :attr_internal, :attr_internal_accessor - private - mattr_accessor :attr_internal_naming_format - self.attr_internal_naming_format = '@_%s' + class << self; attr_accessor :attr_internal_naming_format end + self.attr_internal_naming_format = '@_%s' + private def attr_internal_ivar_name(attr) - attr_internal_naming_format % attr + Module.attr_internal_naming_format % attr end end diff --git a/activesupport/lib/active_support/core_ext/module/introspection.rb b/activesupport/lib/active_support/core_ext/module/introspection.rb index 7708d573fa..23a1063901 100644 --- a/activesupport/lib/active_support/core_ext/module/introspection.rb +++ b/activesupport/lib/active_support/core_ext/module/introspection.rb @@ -1,3 +1,5 @@ +require 'active_support/inflector' + class Module # Returns the name of the module containing this one. # @@ -26,7 +28,7 @@ class Module # p Module.new.parent # => Object # def parent - parent_name ? parent_name.constantize : Object + parent_name ? ActiveSupport::Inflector.constantize(parent_name) : Object end # Returns all the parents of this module according to its name, ordered from @@ -47,7 +49,7 @@ class Module if parent_name parts = parent_name.split('::') until parts.empty? - parents << (parts * '::').constantize + parents << ActiveSupport::Inflector.constantize(parts * '::') parts.pop end end diff --git a/activesupport/lib/active_support/core_ext/module/model_naming.rb b/activesupport/lib/active_support/core_ext/module/model_naming.rb index 004b96a3c1..36fde87b23 100644 --- a/activesupport/lib/active_support/core_ext/module/model_naming.rb +++ b/activesupport/lib/active_support/core_ext/module/model_naming.rb @@ -1,13 +1,15 @@ +require 'active_support/inflector' + module ActiveSupport class ModelName < String attr_reader :singular, :plural, :cache_key, :partial_path def initialize(name) super - @singular = underscore.tr('/', '_').freeze - @plural = @singular.pluralize.freeze + @singular = ActiveSupport::Inflector.underscore(self).tr('/', '_').freeze + @plural = ActiveSupport::Inflector.pluralize(@singular).freeze @cache_key = tableize.freeze - @partial_path = "#{@cache_key}/#{demodulize.underscore}".freeze + @partial_path = "#{@cache_key}/#{ActiveSupport::Inflector.underscore(ActiveSupport::Inflector.demodulize(self))}".freeze end end end diff --git a/activesupport/lib/active_support/core_ext/module/synchronization.rb b/activesupport/lib/active_support/core_ext/module/synchronization.rb index 069db3fed0..f72d512340 100644 --- a/activesupport/lib/active_support/core_ext/module/synchronization.rb +++ b/activesupport/lib/active_support/core_ext/module/synchronization.rb @@ -1,3 +1,5 @@ +require 'active_support/core_ext/module/aliasing' + class Module # Synchronize access around a method, delegating synchronization to a # particular mutex. A mutex (either a Mutex, or any object that responds to diff --git a/activesupport/lib/active_support/core_ext/numeric/time.rb b/activesupport/lib/active_support/core_ext/numeric/time.rb index 2955e8ff1d..d1062805c5 100644 --- a/activesupport/lib/active_support/core_ext/numeric/time.rb +++ b/activesupport/lib/active_support/core_ext/numeric/time.rb @@ -1,3 +1,5 @@ +require 'active_support/duration' + class Numeric # Enables the use of time calculations and declarations, like 45.minutes + 2.hours + 4.years. # diff --git a/activesupport/lib/active_support/core_ext/object.rb b/activesupport/lib/active_support/core_ext/object.rb index 96385d2b87..04e8f06b3d 100644 --- a/activesupport/lib/active_support/core_ext/object.rb +++ b/activesupport/lib/active_support/core_ext/object.rb @@ -1,3 +1,4 @@ +require 'active_support/core_ext/object/acts_like' require 'active_support/core_ext/object/blank' require 'active_support/core_ext/object/duplicable' require 'active_support/core_ext/object/try' diff --git a/activesupport/lib/active_support/core_ext/range/blockless_step.rb b/activesupport/lib/active_support/core_ext/range/blockless_step.rb index f4792d03b7..db42ef5c47 100644 --- a/activesupport/lib/active_support/core_ext/range/blockless_step.rb +++ b/activesupport/lib/active_support/core_ext/range/blockless_step.rb @@ -1,3 +1,5 @@ +require 'active_support/core_ext/module/aliasing' + class Range begin (1..2).step diff --git a/activesupport/lib/active_support/core_ext/string/conversions.rb b/activesupport/lib/active_support/core_ext/string/conversions.rb index 39c2b1b8ed..3f05db62c3 100644 --- a/activesupport/lib/active_support/core_ext/string/conversions.rb +++ b/activesupport/lib/active_support/core_ext/string/conversions.rb @@ -1,4 +1,5 @@ require 'date' +require 'active_support/core_ext/time/calculations' class String # 'a'.ord == 'a'[0] for Ruby 1.9 forward compatibility. diff --git a/activesupport/lib/active_support/core_ext/string/multibyte.rb b/activesupport/lib/active_support/core_ext/string/multibyte.rb index 0f0dfb2443..13208c6ee2 100644 --- a/activesupport/lib/active_support/core_ext/string/multibyte.rb +++ b/activesupport/lib/active_support/core_ext/string/multibyte.rb @@ -1,4 +1,5 @@ # encoding: utf-8 +require 'active_support/multibyte' class String unless '1.9'.respond_to?(:force_encoding) diff --git a/activesupport/lib/active_support/dependencies.rb b/activesupport/lib/active_support/dependencies.rb index 1804c14618..855b720ef1 100644 --- a/activesupport/lib/active_support/dependencies.rb +++ b/activesupport/lib/active_support/dependencies.rb @@ -1,11 +1,13 @@ require 'set' require 'thread' -require 'active_support/inflector' -require 'active_support/core_ext/name_error' -require 'active_support/core_ext/object/blank' require 'active_support/core_ext/module/aliasing' require 'active_support/core_ext/module/attribute_accessors' require 'active_support/core_ext/module/introspection' +require 'active_support/core_ext/object/blank' +require 'active_support/core_ext/load_error' +require 'active_support/core_ext/name_error' +require 'active_support/core_ext/string/starts_ends_with' +require 'active_support/inflector' module ActiveSupport #:nodoc: module Dependencies #:nodoc: diff --git a/activesupport/lib/active_support/deprecation/method_wrappers.rb b/activesupport/lib/active_support/deprecation/method_wrappers.rb index b35d4daf9a..b9eb539aa7 100644 --- a/activesupport/lib/active_support/deprecation/method_wrappers.rb +++ b/activesupport/lib/active_support/deprecation/method_wrappers.rb @@ -1,4 +1,5 @@ require 'active_support/core_ext/module/deprecation' +require 'active_support/core_ext/module/aliasing' module ActiveSupport class << Deprecation diff --git a/activesupport/lib/active_support/deprecation/proxy_wrappers.rb b/activesupport/lib/active_support/deprecation/proxy_wrappers.rb index 1c268d0d9c..ec54efe08e 100644 --- a/activesupport/lib/active_support/deprecation/proxy_wrappers.rb +++ b/activesupport/lib/active_support/deprecation/proxy_wrappers.rb @@ -1,3 +1,5 @@ +require 'active_support/inflector' + module ActiveSupport module Deprecation class DeprecationProxy #:nodoc: @@ -61,7 +63,7 @@ module ActiveSupport private def target - @new_const.to_s.constantize + ActiveSupport::Inflector.constantize(@new_const.to_s) end def warn(callstack, called, args) diff --git a/activesupport/lib/active_support/duration.rb b/activesupport/lib/active_support/duration.rb index f64661c5b1..a33586f77f 100644 --- a/activesupport/lib/active_support/duration.rb +++ b/activesupport/lib/active_support/duration.rb @@ -1,4 +1,5 @@ require 'active_support/basic_object' +require 'active_support/core_ext/array/conversions' module ActiveSupport # Provides accurate date and time measurements using Date#advance and diff --git a/activesupport/lib/active_support/inflector.rb b/activesupport/lib/active_support/inflector.rb index 614afa1bd6..ff70d6d76e 100644 --- a/activesupport/lib/active_support/inflector.rb +++ b/activesupport/lib/active_support/inflector.rb @@ -1,6 +1,7 @@ # encoding: utf-8 require 'iconv' - +require 'active_support/core_ext/object/blank' +require 'active_support/core_ext/string/access' require 'active_support/core_ext/string/multibyte' module ActiveSupport diff --git a/activesupport/lib/active_support/json/encoders/time.rb b/activesupport/lib/active_support/json/encoders/time.rb index f45a0059e8..7d97c38d77 100644 --- a/activesupport/lib/active_support/json/encoders/time.rb +++ b/activesupport/lib/active_support/json/encoders/time.rb @@ -1,3 +1,5 @@ +require 'active_support/core_ext/time/conversions' + class Time # Returns a JSON string representing the time. If ActiveSupport.use_standard_json_time_format is set to true, the # ISO 8601 format is used. diff --git a/activesupport/lib/active_support/memoizable.rb b/activesupport/lib/active_support/memoizable.rb index 2b85fd7be4..edf626802a 100644 --- a/activesupport/lib/active_support/memoizable.rb +++ b/activesupport/lib/active_support/memoizable.rb @@ -1,3 +1,5 @@ +require 'active_support/core_ext/object/metaclass' + module ActiveSupport module SafelyMemoizable def safely_memoize(*symbols) diff --git a/activesupport/lib/active_support/multibyte.rb b/activesupport/lib/active_support/multibyte.rb index 65a96af49a..d8d58f3bce 100644 --- a/activesupport/lib/active_support/multibyte.rb +++ b/activesupport/lib/active_support/multibyte.rb @@ -4,6 +4,8 @@ require 'active_support/multibyte/chars' require 'active_support/multibyte/exceptions' require 'active_support/multibyte/unicode_database' +require 'active_support/core_ext/module/attribute_accessors' + module ActiveSupport #:nodoc: module Multibyte # A list of all available normalization forms. See http://www.unicode.org/reports/tr15/tr15-29.html for more diff --git a/activesupport/lib/active_support/testing/assertions.rb b/activesupport/lib/active_support/testing/assertions.rb index ca51adba1e..c529b92240 100644 --- a/activesupport/lib/active_support/testing/assertions.rb +++ b/activesupport/lib/active_support/testing/assertions.rb @@ -1,3 +1,5 @@ +require 'active_support/core_ext/array/wrap' + module ActiveSupport module Testing module Assertions diff --git a/activesupport/lib/active_support/time_with_zone.rb b/activesupport/lib/active_support/time_with_zone.rb index aa448debda..0d4c75d272 100644 --- a/activesupport/lib/active_support/time_with_zone.rb +++ b/activesupport/lib/active_support/time_with_zone.rb @@ -131,7 +131,7 @@ module ActiveSupport # Time.utc(2005,2,1,15,15,10).in_time_zone.to_json # # => "2005/02/01 15:15:10 +0000" def to_json(options = nil) - if ActiveSupport.use_standard_json_time_format + if !ActiveSupport.respond_to?(:use_standard_json_time_format) || ActiveSupport.use_standard_json_time_format xmlschema.inspect else %("#{time.strftime("%Y/%m/%d %H:%M:%S")} #{formatted_offset(false)}") diff --git a/activesupport/lib/active_support/xml_mini.rb b/activesupport/lib/active_support/xml_mini.rb index ccd1349491..f22fbcc0e1 100644 --- a/activesupport/lib/active_support/xml_mini.rb +++ b/activesupport/lib/active_support/xml_mini.rb @@ -1,3 +1,5 @@ +require 'active_support/core_ext/module/delegation' + module ActiveSupport # = XmlMini # diff --git a/activesupport/lib/active_support/xml_mini/rexml.rb b/activesupport/lib/active_support/xml_mini/rexml.rb index 771109514c..5033210aae 100644 --- a/activesupport/lib/active_support/xml_mini/rexml.rb +++ b/activesupport/lib/active_support/xml_mini/rexml.rb @@ -1,3 +1,5 @@ +require 'active_support/core_ext/object/blank' + # = XmlMini ReXML implementation module ActiveSupport module XmlMini_REXML #:nodoc: -- cgit v1.2.3