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

A new instance of Configuration



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)



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

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)



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

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 applicaiton, 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)



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

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

- (Object) before_eager_load(&block)



38
39
40
# File 'railties/lib/rails/railtie/configuration.rb', line 38

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

- (Object) before_initialize(&block)



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

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)

Returns:

  • (Boolean)


58
59
60
# File 'railties/lib/rails/railtie/configuration.rb', line 58

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

- (Object) static_asset_paths

static_asset_paths is a Hash containing asset_paths with associated public folders, like: { "/" => "/app/public", "/my_engine" => "app/engines/my_engine/public" }



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

def static_asset_paths
  @@static_asset_paths ||= ActiveSupport::OrderedHash.new
end

- (Object) to_prepare(&blk)



54
55
56
# File 'railties/lib/rails/railtie/configuration.rb', line 54

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

- (Object) to_prepare_blocks



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

def to_prepare_blocks
  @@to_prepare_blocks ||= []
end