From 0eacdcf9a3e37e05f47a4ded7f0a4aff3b65fbe4 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Sun, 28 Jan 2007 07:16:55 +0000 Subject: Use a consistent load path to avoid double requires. Fix some scattered Ruby warnings. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6057 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- .../action_controller/assertions/response_assertions.rb | 2 +- .../action_controller/assertions/selector_assertions.rb | 2 +- .../lib/action_controller/assertions/tag_assertions.rb | 4 ++-- .../lib/action_controller/cgi_ext/raw_post_data_fix.rb | 3 +++ actionpack/lib/action_controller/integration.rb | 2 +- actionpack/lib/action_controller/mime_type.rb | 2 +- actionpack/lib/action_controller/request.rb | 1 + actionpack/lib/action_controller/routing.rb | 4 ++-- actionpack/lib/action_controller/test_process.rb | 6 +++--- .../vendor/html-scanner/html/document.rb | 7 +++---- .../vendor/html-scanner/html/selector.rb | 15 ++++++++++----- 11 files changed, 28 insertions(+), 20 deletions(-) (limited to 'actionpack/lib/action_controller') diff --git a/actionpack/lib/action_controller/assertions/response_assertions.rb b/actionpack/lib/action_controller/assertions/response_assertions.rb index 0811920e4a..cf30569f36 100644 --- a/actionpack/lib/action_controller/assertions/response_assertions.rb +++ b/actionpack/lib/action_controller/assertions/response_assertions.rb @@ -1,5 +1,5 @@ require 'rexml/document' -require File.dirname(__FILE__) + "/../vendor/html-scanner/html/document" +require 'html/document' module ActionController module Assertions diff --git a/actionpack/lib/action_controller/assertions/selector_assertions.rb b/actionpack/lib/action_controller/assertions/selector_assertions.rb index f9d67fb5bd..a5e022662c 100644 --- a/actionpack/lib/action_controller/assertions/selector_assertions.rb +++ b/actionpack/lib/action_controller/assertions/selector_assertions.rb @@ -4,7 +4,7 @@ #++ require 'rexml/document' -require File.dirname(__FILE__) + "/../vendor/html-scanner/html/document" +require 'html/document' module ActionController module Assertions diff --git a/actionpack/lib/action_controller/assertions/tag_assertions.rb b/actionpack/lib/action_controller/assertions/tag_assertions.rb index f5f7a23e61..df8e812b3c 100644 --- a/actionpack/lib/action_controller/assertions/tag_assertions.rb +++ b/actionpack/lib/action_controller/assertions/tag_assertions.rb @@ -1,5 +1,5 @@ require 'rexml/document' -require File.dirname(__FILE__) + "/../vendor/html-scanner/html/document" +require 'html/document' module ActionController module Assertions @@ -114,4 +114,4 @@ module ActionController end end end -end \ No newline at end of file +end diff --git a/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb b/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb index 4c124cb266..3576f99a94 100644 --- a/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb +++ b/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb @@ -1,5 +1,8 @@ class CGI #:nodoc: module QueryExtension + # Remove the old initialize_query method before redefining it. + remove_method :initialize_query + # Initialize the data from the query. # # Handles multipart forms (in particular, forms that involve file uploads). diff --git a/actionpack/lib/action_controller/integration.rb b/actionpack/lib/action_controller/integration.rb index d77540a297..c2f1fcf1f9 100644 --- a/actionpack/lib/action_controller/integration.rb +++ b/actionpack/lib/action_controller/integration.rb @@ -72,7 +72,7 @@ module ActionController self.remote_addr = "127.0.0.1" self.accept = "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5" - unless @named_routes_configured + unless defined? @named_routes_configured # install the named routes in this session instance. klass = class< 'production' }. diff --git a/actionpack/lib/action_controller/routing.rb b/actionpack/lib/action_controller/routing.rb index 4c6377eef7..333be93b6f 100644 --- a/actionpack/lib/action_controller/routing.rb +++ b/actionpack/lib/action_controller/routing.rb @@ -507,9 +507,9 @@ module ActionController end end end - + def matches_controller_and_action?(controller, action) - unless @matching_prepared + unless defined? @matching_prepared @controller_requirement = requirement_for(:controller) @action_requirement = requirement_for(:action) @matching_prepared = true diff --git a/actionpack/lib/action_controller/test_process.rb b/actionpack/lib/action_controller/test_process.rb index 49a8a4a0e3..beccec6f94 100644 --- a/actionpack/lib/action_controller/test_process.rb +++ b/actionpack/lib/action_controller/test_process.rb @@ -1,4 +1,4 @@ -require File.dirname(__FILE__) + '/assertions' +require 'action_controller/assertions' module ActionController #:nodoc: class Base @@ -90,11 +90,11 @@ module ActionController #:nodoc: end def request_uri - @request_uri || super() + @request_uri || super end def path - @path || super() + @path || super end def assign_parameters(controller_path, action, parameters) diff --git a/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb b/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb index 19b349e886..29422937b2 100644 --- a/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb +++ b/actionpack/lib/action_controller/vendor/html-scanner/html/document.rb @@ -1,9 +1,8 @@ -require File.dirname(__FILE__) + '/tokenizer' -require File.dirname(__FILE__) + '/node' -require File.dirname(__FILE__) + '/selector' +require 'html/tokenizer' +require 'html/node' +require 'html/selector' module HTML #:nodoc: - # A top-level HTMl document. You give it a body of text, and it will parse that # text into a tree of nodes. class Document #:nodoc: diff --git a/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb b/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb index 287afcc3c4..7ffc1fcfa8 100644 --- a/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb +++ b/actionpack/lib/action_controller/vendor/html-scanner/html/selector.rb @@ -240,19 +240,24 @@ module HTML raise ArgumentError, "CSS expression cannot be empty" if selector.empty? @source = "" values = values[0] if values.size == 1 && values[0].is_a?(Array) + # We need a copy to determine if we failed to parse, and also # preserve the original pass by-ref statement. statement = selector.strip.dup + # Create a simple selector, along with negation. simple_selector(statement, values).each { |name, value| instance_variable_set("@#{name}", value) } + @alternates = [] + @depends = nil + # Alternative selector. if statement.sub!(/^\s*,\s*/, "") second = Selector.new(statement, values) - (@alternates ||= []) << second + @alternates << second # If there are alternate selectors, we group them in the top selector. if alternates = second.instance_variable_get(:@alternates) - second.instance_variable_set(:@alternates, nil) + second.instance_variable_set(:@alternates, []) @alternates.concat alternates end @source << " , " << second.to_s @@ -412,7 +417,7 @@ module HTML # If this selector is part of the group, try all the alternative # selectors (unless first_only). - if @alternates && (!first_only || !matches) + if !first_only || !matches @alternates.each do |alternate| break if matches && first_only if subset = alternate.match(element, first_only) @@ -796,8 +801,8 @@ module HTML second = Selector.new(statement, values) # If there are alternate selectors, we group them in the top selector. if alternates = second.instance_variable_get(:@alternates) - second.instance_variable_set(:@alternates, nil) - (@alternates ||= []).concat alternates + second.instance_variable_set(:@alternates, []) + @alternates.concat alternates end second end -- cgit v1.2.3