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:
parent
5f99bdbec2
commit
3a6e8e464c
6 changed files with 10 additions and 18 deletions
|
@ -12,7 +12,6 @@ module ActionController
|
|||
autoload :Middleware
|
||||
|
||||
autoload_under "metal" do
|
||||
autoload :AssetPaths
|
||||
autoload :Compatibility
|
||||
autoload :ConditionalGet
|
||||
autoload :Cookies
|
||||
|
|
|
@ -183,8 +183,8 @@ module ActionController
|
|||
MODULES = [
|
||||
AbstractController::Layouts,
|
||||
AbstractController::Translation,
|
||||
AbstractController::AssetPaths,
|
||||
|
||||
AssetPaths,
|
||||
Helpers,
|
||||
HideActions,
|
||||
UrlFor,
|
||||
|
|
|
@ -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
|
|
@ -71,6 +71,7 @@ module ActionView
|
|||
autoload :MissingTemplate
|
||||
autoload :ActionViewError
|
||||
autoload :EncodingError
|
||||
autoload :MissingRequestError
|
||||
autoload :TemplateError
|
||||
autoload :WrongEncodingError
|
||||
end
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue