Class: Rails::Railtie::Configuration

Inherits:
Object
  • Object
show all
Defined in:
railties/lib/rails/railtie/configuration.rb

Instance Method Summary (collapse)

Constructor Details

- (Configuration) initialize



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

def initialize
  @@options ||= {}
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

- (Object) method_missing(name, *args, &blk) (private)



72
73
74
75
76
77
78
79
80
# File 'railties/lib/rails/railtie/configuration.rb', line 72

def method_missing(name, *args, &blk)
  if name.to_s =~ /=$/
    @@options[$`.to_sym] = args.first
  elsif @@options.key?(name)
    @@options[name]
  else
    super
  end
end

Instance Method Details

- (Object) after_initialize(&block)

Last configurable block to run. Called after frameworks initialize.



51
52
53
# File 'railties/lib/rails/railtie/configuration.rb', line 51

def after_initialize(&block)
  ActiveSupport.on_load(:after_initialize, :yield => true, &block)
end

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

This allows you to modify application's generators from Railties.

Values set on app_generators will become defaults for application, unless application overwrites them.

Yields:

  • (@@app_generators)


23
24
25
26
27
# File 'railties/lib/rails/railtie/configuration.rb', line 23

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

- (Object) app_middleware

This allows you to modify the application's middlewares from Engines.

All operations you run on the app_middleware will be replayed on the application once it is defined and the default_middlewares are created



15
16
17
# File 'railties/lib/rails/railtie/configuration.rb', line 15

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

- (Object) before_configuration(&block)

First configurable block to run. Called before any initializers are run.



35
36
37
# File 'railties/lib/rails/railtie/configuration.rb', line 35

def before_configuration(&block)
  ActiveSupport.on_load(:before_configuration, :yield => true, &block)
end

- (Object) before_eager_load(&block)

Third configurable block to run. Does not run if config.cache_classes set to false.



41
42
43
# File 'railties/lib/rails/railtie/configuration.rb', line 41

def before_eager_load(&block)
  ActiveSupport.on_load(:before_eager_load, :yield => true, &block)
end

- (Object) before_initialize(&block)

Second configurable block to run. Called before frameworks initialize.



46
47
48
# File 'railties/lib/rails/railtie/configuration.rb', line 46

def before_initialize(&block)
  ActiveSupport.on_load(:before_initialize, :yield => true, &block)
end

- (Object) generators(&block)

:nodoc



29
30
31
32
# File 'railties/lib/rails/railtie/configuration.rb', line 29

def generators(&block) #:nodoc
  ActiveSupport::Deprecation.warn "config.generators in Rails::Railtie is deprecated. Please use config.app_generators instead."
  app_generators(&block)
end

- (Boolean) respond_to?(name)



66
67
68
# File 'railties/lib/rails/railtie/configuration.rb', line 66

def respond_to?(name)
  super || @@options.key?(name.to_sym)
end

- (Object) to_prepare(&blk)

Defines generic callbacks to run before #after_initialize. Useful for Rails::Railtie subclasses.



62
63
64
# File 'railties/lib/rails/railtie/configuration.rb', line 62

def to_prepare(&blk)
  to_prepare_blocks << blk if blk
end

- (Object) to_prepare_blocks

Array of callbacks defined by #to_prepare.



56
57
58
# File 'railties/lib/rails/railtie/configuration.rb', line 56

def to_prepare_blocks
  @@to_prepare_blocks ||= []
end