diff options
Diffstat (limited to 'railties/lib/rails/engine')
-rw-r--r-- | railties/lib/rails/engine/configurable.rb | 13 | ||||
-rw-r--r-- | railties/lib/rails/engine/configuration.rb | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/railties/lib/rails/engine/configurable.rb b/railties/lib/rails/engine/configurable.rb index 9a370f0abb..0af01cace2 100644 --- a/railties/lib/rails/engine/configurable.rb +++ b/railties/lib/rails/engine/configurable.rb @@ -3,10 +3,12 @@ module Rails module Configurable def self.included(base) base.extend ClassMethods + base.private_class_method :new end module ClassMethods delegate :middleware, :root, :paths, :to => :config + delegate :call, :to => :instance def config @config ||= Engine::Configuration.new(find_root_with_flag("lib")) @@ -15,6 +17,15 @@ module Rails def inherited(base) raise "You cannot inherit from a Rails::Engine child" end + + def instance + @instance ||= new + end + + def endpoint(endpoint = nil) + @endpoint = endpoint if endpoint + @endpoint + end end def config @@ -22,4 +33,4 @@ module Rails end end end -end
\ No newline at end of file +end diff --git a/railties/lib/rails/engine/configuration.rb b/railties/lib/rails/engine/configuration.rb index 521ed95447..9a9ec8b3ad 100644 --- a/railties/lib/rails/engine/configuration.rb +++ b/railties/lib/rails/engine/configuration.rb @@ -5,10 +5,12 @@ module Rails class Configuration < ::Rails::Railtie::Configuration attr_reader :root attr_writer :eager_load_paths, :autoload_once_paths, :autoload_paths + attr_accessor :middleware def initialize(root=nil) super() @root = root + @middleware = ActionDispatch::MiddlewareStack.new end def paths |