2010-01-23 16:30:17 -05:00
|
|
|
require 'rails/configuration'
|
|
|
|
|
|
|
|
module Rails
|
|
|
|
class Railtie
|
|
|
|
class Configuration
|
2010-03-04 18:06:25 -05:00
|
|
|
def initialize
|
2010-03-26 13:47:55 -04:00
|
|
|
@@options ||= {}
|
2010-03-04 18:06:25 -05:00
|
|
|
end
|
|
|
|
|
2010-03-04 12:56:40 -05:00
|
|
|
# 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)
|
2010-03-26 13:47:55 -04:00
|
|
|
super || @@options.key?(name.to_sym)
|
2010-03-04 18:06:25 -05:00
|
|
|
end
|
|
|
|
|
2010-03-04 12:56:40 -05:00
|
|
|
private
|
|
|
|
|
|
|
|
def method_missing(name, *args, &blk)
|
2010-03-26 13:47:55 -04:00
|
|
|
if name.to_s =~ /=$/
|
|
|
|
@@options[$`.to_sym] = args.first
|
|
|
|
elsif @@options.key?(name)
|
|
|
|
@@options[name]
|
|
|
|
else
|
|
|
|
super
|
2010-03-04 12:56:40 -05:00
|
|
|
end
|
|
|
|
end
|
2010-01-23 16:30:17 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|