lib/rails/railtie/configuration.rb in railties-3.0.0.beta vs lib/rails/railtie/configuration.rb in railties-3.0.0.beta2
- old
+ new
@@ -1,9 +1,64 @@
require 'rails/configuration'
module Rails
class Railtie
class Configuration
- include Rails::Configuration::Shared
+ def initialize
+ @@options ||= {}
+ end
+
+ # 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
+ #
+ def generators
+ @@generators ||= Rails::Configuration::Generators.new
+ if block_given?
+ yield @@generators
+ else
+ @@generators
+ end
+ end
+
+ def after_initialize_blocks
+ @@after_initialize_blocks ||= []
+ end
+
+ def after_initialize(&blk)
+ after_initialize_blocks << blk if blk
+ end
+
+ def to_prepare_blocks
+ @@to_prepare_blocks ||= []
+ end
+
+ def to_prepare(&blk)
+ to_prepare_blocks << blk if blk
+ end
+
+ def respond_to?(name)
+ super || @@options.key?(name.to_sym)
+ end
+
+ private
+
+ 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
end
end
end
\ No newline at end of file