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, #respond_to?, #to_prepare, #to_prepare_blocks, #watchable_dirs, #watchable_files

Constructor Details

#initialize(root = nil) ⇒ Configuration

Returns a new instance of Configuration.



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

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

#autoload_once_pathsObject



75
76
77
# File 'railties/lib/rails/engine/configuration.rb', line 75

def autoload_once_paths
  @autoload_once_paths ||= paths.autoload_once
end

#autoload_pathsObject



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

def autoload_paths
  @autoload_paths ||= paths.autoload_paths
end

#eager_load_pathsObject



71
72
73
# File 'railties/lib/rails/engine/configuration.rb', line 71

def eager_load_paths
  @eager_load_paths ||= paths.eager_load
end

#middlewareObject

Returns the middleware stack for the engine.



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

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

#pluginsObject

Returns the value of attribute plugins



8
9
10
# File 'railties/lib/rails/engine/configuration.rb', line 8

def plugins
  @plugins
end

#rootObject

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

#generators {|@generators| ... } ⇒ Object

Holds generators configuration:

config.generators do |g|
  g.orm             :datamapper, :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:



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

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

#pathsObject



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
# File 'railties/lib/rails/engine/configuration.rb', line 39

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 "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",       :with => "config/routes.rb"
    paths.add "db"
    paths.add "db/migrate"
    paths.add "db/seeds",            :with => "db/seeds.rb"
    paths.add "vendor",              :load_path => true
    paths.add "vendor/assets",       :glob => "*"
    paths.add "vendor/plugins"
    paths
  end
end