Class: Rails::Engine::Configuration
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| Subclasses: | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: | |
| Instance Chain: | |
| Inherits: | Rails::Railtie::Configuration 
 | 
| Defined in: | railties/lib/rails/engine/configuration.rb | 
Class Method Summary
Instance Attribute Summary
- 
    
      #autoload_once_paths  
    
    rw
    An array of custom autoload once paths. 
- #autoload_once_paths=(value) rw
- 
    
      #autoload_paths  
    
    rw
    An array of custom autoload paths to be added to the ones defined automatically by ::Rails.
- #autoload_paths=(value) rw
- 
    
      #eager_load_paths  
    
    rw
    An array of custom eager load paths to be added to the ones defined automatically by ::Rails.
- #eager_load_paths=(value) rw
- #javascript_path rw
- #middleware rw
- #root rw
- #root=(value) rw
Instance Method Summary
- 
    
      #generators {|@generators| ... } 
    
    Holds generators configuration: 
- #paths
::Rails::Railtie::Configuration - Inherited
| #after_initialize | Last configurable block to run. | 
| #after_routes_loaded | Called after application routes have been loaded. | 
| #app_generators | This allows you to modify application’s generators from  | 
| #app_middleware | This allows you to modify the application’s middlewares from Engines. | 
| #before_configuration | First configurable block to run. | 
| #before_eager_load | Third configurable block to run. | 
| #before_initialize | Second configurable block to run. | 
| #eager_load_namespaces | All namespaces that are eager loaded. | 
| #respond_to?, | |
| #to_prepare | Defines generic callbacks to run before  | 
| #to_prepare_blocks | 
 | 
| #watchable_dirs | Add directories that should be watched for change. | 
| #watchable_files | Add files that should be watched for change. | 
Constructor Details
    .new(root = nil)  ⇒ Configuration 
  
# File 'railties/lib/rails/engine/configuration.rb', line 41
def initialize(root = nil) super() @root = root @generators = app_generators.dup @middleware = Rails::Configuration::MiddlewareStackProxy.new @javascript_path = "javascript" @autoload_paths = [] @autoload_once_paths = [] @eager_load_paths = [] end
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Rails::Railtie::Configuration
Instance Attribute Details
#autoload_once_paths (rw)
An array of custom autoload once paths. These won’t be eager loaded unless you push them to #eager_load_paths too, which is recommended.
This collection is empty by default, it accepts strings and ::Pathname objects.
If you’d like to add lib to it, please see autoload_lib_once.
# File 'railties/lib/rails/engine/configuration.rb', line 29
attr_reader :autoload_once_paths
#autoload_once_paths=(value) (rw)
[ GitHub ]# File 'railties/lib/rails/engine/configuration.rb', line 10
attr_writer :eager_load_paths, :autoload_once_paths, :autoload_paths
#autoload_paths (rw)
An array of custom autoload paths to be added to the ones defined automatically by ::Rails. These won’t be eager loaded, unless you push them to #eager_load_paths too, which is recommended.
This collection is empty by default, it accepts strings and ::Pathname objects.
If you’d like to add lib to it, please see autoload_lib.
# File 'railties/lib/rails/engine/configuration.rb', line 20
attr_reader :autoload_paths
#autoload_paths=(value) (rw)
[ GitHub ]# File 'railties/lib/rails/engine/configuration.rb', line 10
attr_writer :eager_load_paths, :autoload_once_paths, :autoload_paths
#eager_load_paths (rw)
An array of custom eager load paths to be added to the ones defined automatically by ::Rails. Anything in this collection is considered to be an autoload path regardless of whether it was added to #autoload_paths.
This collection is empty by default, it accepts strings and ::Pathname objects.
If you’d like to add lib to it, please see autoload_lib.
# File 'railties/lib/rails/engine/configuration.rb', line 39
attr_reader :eager_load_paths
#eager_load_paths=(value) (rw)
[ GitHub ]# File 'railties/lib/rails/engine/configuration.rb', line 10
attr_writer :eager_load_paths, :autoload_once_paths, :autoload_paths
#javascript_path (rw)
[ GitHub ]# File 'railties/lib/rails/engine/configuration.rb', line 9
attr_accessor :middleware, :javascript_path
#middleware (rw)
[ GitHub ]# File 'railties/lib/rails/engine/configuration.rb', line 9
attr_accessor :middleware, :javascript_path
#root (rw)
[ GitHub ]# File 'railties/lib/rails/engine/configuration.rb', line 8
attr_reader :root
#root=(value) (rw)
[ GitHub ]Instance Method Details
#generators {|@generators| ... }
# File 'railties/lib/rails/engine/configuration.rb', line 65
def generators @generators ||= Rails::Configuration::Generators.new yield(@generators) if block_given? @generators end
#paths
[ GitHub ]# File 'railties/lib/rails/engine/configuration.rb', line 71
def paths @paths ||= begin paths = Rails::Paths::Root.new(@root) paths.add "app", eager_load: true, glob: "{*,*/concerns}", exclude: ["assets", javascript_path] paths.add "app/assets", glob: "*" paths.add "app/controllers", eager_load: true paths.add "app/channels", eager_load: true paths.add "app/helpers", eager_load: true paths.add "app/models", eager_load: true paths.add "app/mailers", eager_load: true paths.add "app/views" # If you add more lib subdirectories here that should not be managed # by the main autoloader, please update the config.autoload_lib call # in the template that generates config/application.rb accordingly. paths.add "lib", load_path: true paths.add "lib/assets", glob: "*" paths.add "lib/tasks", glob: "**/*.rake" paths.add "config" paths.add "config/environments", glob: -"#{Rails.env}.rb" paths.add "config/initializers", glob: "**/*.rb" paths.add "config/locales", glob: "**/*.{rb,yml}" paths.add "config/routes.rb" paths.add "config/routes", glob: "**/*.rb" paths.add "db" paths.add "db/migrate" paths.add "db/seeds.rb" paths.add "vendor", load_path: true paths.add "vendor/assets", glob: "*" paths.add "test/mailers/previews", autoload: true paths end end