Class: Rails::Engine::Configuration

Inherits:
Railtie::Configuration show all
Defined in:
railties/lib/rails/engine/configuration.rb

Direct Known Subclasses

Application::Configuration

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Methods inherited from Railtie::Configuration

#after_initialize, #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

- (Configuration) initialize(root = nil)

Returns a new instance of Configuration



9
10
11
12
13
# File 'railties/lib/rails/engine/configuration.rb', line 9

def initialize(root=nil)
  super()
  @root = root
  @generators = app_generators.dup
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Rails::Railtie::Configuration

Instance Attribute Details

- (Object) autoload_once_paths



82
83
84
# File 'railties/lib/rails/engine/configuration.rb', line 82

def autoload_once_paths
  @autoload_once_paths ||= paths.autoload_once
end

- (Object) autoload_paths



86
87
88
# File 'railties/lib/rails/engine/configuration.rb', line 86

def autoload_paths
  @autoload_paths ||= paths.autoload_paths
end

- (Object) eager_load_paths



78
79
80
# File 'railties/lib/rails/engine/configuration.rb', line 78

def eager_load_paths
  @eager_load_paths ||= paths.eager_load
end

- (Object) middleware

Returns the middleware stack for the engine.



16
17
18
# File 'railties/lib/rails/engine/configuration.rb', line 16

def middleware
  @middleware ||= Rails::Configuration::MiddlewareStackProxy.new
end

- (Object) root

Returns the value of attribute root



6
7
8
# File 'railties/lib/rails/engine/configuration.rb', line 6

def root
  @root
end

Instance Method Details

- (Object) generators {|@generators| ... }

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

Yields:



32
33
34
35
36
# File 'railties/lib/rails/engine/configuration.rb', line 32

def generators #:nodoc:
  @generators ||= Rails::Configuration::Generators.new
  yield(@generators) if block_given?
  @generators
end

- (Object) paths



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'railties/lib/rails/engine/configuration.rb', line 38

def paths
  @paths ||= begin
    paths = Rails::Paths::Root.new(@root)

    paths.add "app",                 eager_load: true, glob: "*"
    paths.add "app/assets",          glob: "*"
    paths.add "app/controllers",     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"

    paths.add "app/controllers/concerns", eager_load: true
    paths.add "app/models/concerns",      eager_load: true

    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 "db"
    paths.add "db/migrate"
    paths.add "db/seeds.rb"

    paths.add "vendor",              load_path: true
    paths.add "vendor/assets",       glob: "*"

    paths
  end
end