Class: Rails::Engine::Configuration
- Inherits:
-
Railtie::Configuration
- Object
- Railtie::Configuration
- Rails::Engine::Configuration
- Defined in:
- lib/rails/engine/configuration.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#autoload_once_paths ⇒ Object
An array of custom autoload once paths.
-
#autoload_paths ⇒ Object
An array of custom autoload paths to be added to the ones defined automatically by Rails.
-
#eager_load_paths ⇒ Object
An array of custom eager load paths to be added to the ones defined automatically by Rails.
-
#javascript_path ⇒ Object
Returns the value of attribute javascript_path.
-
#middleware ⇒ Object
Returns the value of attribute middleware.
-
#root ⇒ Object
Returns the value of attribute root.
Instance Method Summary collapse
-
#all_autoload_once_paths ⇒ Object
Private method that adds custom autoload once paths to the ones defined by
paths
. -
#all_autoload_paths ⇒ Object
Private method that adds custom autoload paths to the ones defined by
paths
. -
#all_eager_load_paths ⇒ Object
Private method that adds custom eager load paths to the ones defined by
paths
. -
#generators {|@generators| ... } ⇒ Object
Holds generators configuration:.
-
#initialize(root = nil) ⇒ Configuration
constructor
A new instance of Configuration.
- #paths ⇒ Object
Methods inherited from Railtie::Configuration
#after_initialize, #after_routes_loaded, #app_generators, #app_middleware, #before_configuration, #before_eager_load, #before_initialize, #eager_load_namespaces, eager_load_namespaces, #respond_to?, #to_prepare, #to_prepare_blocks, #watchable_dirs, #watchable_files
Constructor Details
#initialize(root = nil) ⇒ Configuration
Returns a new instance of Configuration.
41 42 43 44 45 46 47 48 49 50 51 |
# File '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 ⇒ Object
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
.
29 30 31 |
# File 'lib/rails/engine/configuration.rb', line 29 def autoload_once_paths @autoload_once_paths end |
#autoload_paths ⇒ Object
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
.
20 21 22 |
# File 'lib/rails/engine/configuration.rb', line 20 def autoload_paths @autoload_paths end |
#eager_load_paths ⇒ Object
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
.
39 40 41 |
# File 'lib/rails/engine/configuration.rb', line 39 def eager_load_paths @eager_load_paths end |
#javascript_path ⇒ Object
Returns the value of attribute javascript_path.
9 10 11 |
# File 'lib/rails/engine/configuration.rb', line 9 def javascript_path @javascript_path end |
#middleware ⇒ Object
Returns the value of attribute middleware.
9 10 11 |
# File 'lib/rails/engine/configuration.rb', line 9 def middleware @middleware end |
#root ⇒ Object
Returns the value of attribute root.
8 9 10 |
# File 'lib/rails/engine/configuration.rb', line 8 def root @root end |
Instance Method Details
#all_autoload_once_paths ⇒ Object
Private method that adds custom autoload once paths to the ones defined by paths
.
125 126 127 |
# File 'lib/rails/engine/configuration.rb', line 125 def all_autoload_once_paths # :nodoc: autoload_once_paths + paths.autoload_once end |
#all_autoload_paths ⇒ Object
Private method that adds custom autoload paths to the ones defined by paths
.
119 120 121 |
# File 'lib/rails/engine/configuration.rb', line 119 def all_autoload_paths # :nodoc: autoload_paths + paths.autoload_paths end |
#all_eager_load_paths ⇒ Object
Private method that adds custom eager load paths to the ones defined by paths
.
131 132 133 |
# File 'lib/rails/engine/configuration.rb', line 131 def all_eager_load_paths # :nodoc: eager_load_paths + paths.eager_load end |
#generators {|@generators| ... } ⇒ Object
Holds generators configuration:
config.generators do |g|
g.orm :data_mapper, migration: true
g.template_engine :haml
g.test_framework :rspec
end
If you want to disable color in console, do:
config.generators.colorize_logging = false
65 66 67 68 69 |
# File 'lib/rails/engine/configuration.rb', line 65 def generators @generators ||= Rails::Configuration::Generators.new yield(@generators) if block_given? @generators end |
#paths ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File '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 |