diff options
author | Tim Raymond <xtjraymondx@gmail.com> | 2012-12-19 01:54:09 -0500 |
---|---|---|
committer | Tim Raymond <xtjraymondx@gmail.com> | 2013-01-03 14:00:32 -0500 |
commit | 48d5a33269eac16e7927c8811bfdc6010a965959 (patch) | |
tree | 4f3332f57a84cde91a540292ff66c20cd817d012 /railties/lib/rails/engine | |
parent | cb2bd4aa619d9329c42aaf6d9f8eacc616ce53f4 (diff) | |
download | rails-48d5a33269eac16e7927c8811bfdc6010a965959.tar.gz rails-48d5a33269eac16e7927c8811bfdc6010a965959.tar.bz2 rails-48d5a33269eac16e7927c8811bfdc6010a965959.zip |
Adding Back Rails::Engine::Railties#engines
Removing it breaks functionality with gems such as Thinking Sphinx.
This restores it with a deprecation warning. Closes #8551
Diffstat (limited to 'railties/lib/rails/engine')
-rw-r--r-- | railties/lib/rails/engine/railties.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/railties/lib/rails/engine/railties.rb b/railties/lib/rails/engine/railties.rb new file mode 100644 index 0000000000..1081700cd0 --- /dev/null +++ b/railties/lib/rails/engine/railties.rb @@ -0,0 +1,29 @@ +module Rails + class Engine < Railtie + class Railties + include Enumerable + attr_reader :_all + + def initialize + @_all ||= ::Rails::Railtie.subclasses.map(&:instance) + + ::Rails::Engine.subclasses.map(&:instance) + end + + def self.engines + @engines ||= ::Rails::Engine.subclasses.map(&:instance) + end + + def each(*args, &block) + _all.each(*args, &block) + end + + def -(others) + _all - others + end + + delegate :engines, to: "self.class" + end + end +end + +ActiveSupport::Deprecation.deprecate_methods(Rails::Engine::Railties, :engines) |