1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Sprockets-rails tests fail

Method invalid_asset_host! was delegated to controller but sprockets
compile assets in their own scope without controller. And if we set asset_host
with second parameter it should raise error through invalid_asset_host!.
But since controller is nil it cannot be reached.
This commit is contained in:
Dmitry Vorotilin 2012-09-01 15:58:24 +04:00
parent 5f99bdbec2
commit 3a6e8e464c
6 changed files with 10 additions and 18 deletions

View file

@ -12,7 +12,6 @@ module ActionController
autoload :Middleware
autoload_under "metal" do
autoload :AssetPaths
autoload :Compatibility
autoload :ConditionalGet
autoload :Cookies

View file

@ -183,8 +183,8 @@ module ActionController
MODULES = [
AbstractController::Layouts,
AbstractController::Translation,
AbstractController::AssetPaths,
AssetPaths,
Helpers,
HideActions,
UrlFor,

View file

@ -1,13 +0,0 @@
require 'action_controller/metal/exceptions'
module ActionController
module AssetPaths
extend ActiveSupport::Concern
include AbstractController::AssetPaths
def invalid_asset_host!(help_message)
raise ActionController::RoutingError, "This asset host cannot be computed without a request in scope. #{help_message}"
end
end
end

View file

@ -71,6 +71,7 @@ module ActionView
autoload :MissingTemplate
autoload :ActionViewError
autoload :EncodingError
autoload :MissingRequestError
autoload :TemplateError
autoload :WrongEncodingError
end

View file

@ -1,6 +1,6 @@
require 'zlib'
require 'active_support/core_ext/file'
require 'active_support/core_ext/module/delegation'
require 'action_controller/metal/exceptions'
module ActionView
class AssetPaths #:nodoc:
@ -8,8 +8,6 @@ module ActionView
attr_reader :config, :controller
delegate :invalid_asset_host!, :to => :controller, :prefix => false
def initialize(config, controller = nil)
@config = config
@controller = controller
@ -99,6 +97,10 @@ module ActionView
@config.default_asset_host_protocol || (has_request? ? :request : :relative)
end
def invalid_asset_host!(help_message)
raise ActionView::MissingRequestError, "This asset host cannot be computed without a request in scope. #{help_message}"
end
# Pick an asset host for this source. Returns +nil+ if no host is set,
# the host if no wildcard is set, the host interpolated with the
# numbers 0-3 if it contains <tt>%d</tt> (the number is the source hash mod 4),

View file

@ -8,6 +8,9 @@ module ActionView
class EncodingError < StandardError #:nodoc:
end
class MissingRequestError < StandardError #:nodoc:
end
class WrongEncodingError < EncodingError #:nodoc:
def initialize(string, encoding)
@string, @encoding = string, encoding