rails--rails/railties/lib/rails/application/railties.rb

31 lines
716 B
Ruby
Raw Normal View History

2010-01-23 15:59:32 +00:00
module Rails
class Application
class Railties
2010-01-24 08:00:18 +00:00
# TODO Write tests for this behavior extracted from Application
2010-01-23 15:59:32 +00:00
def initialize(config)
@config = config
end
def all(&block)
@all ||= railties + engines + plugins
@all.each(&block) if block
@all
end
def railties
@railties ||= ::Rails::Railtie.subclasses.map(&:new)
end
def engines
@engines ||= ::Rails::Engine.subclasses.map(&:new)
end
def plugins
@plugins ||= begin
plugin_names = (@config.plugins || [:all]).map { |p| p.to_sym }
Plugin.all(plugin_names, @config.paths.vendor.plugins)
end
end
end
end
end