aboutsummaryrefslogblamecommitdiffstats
path: root/railties/lib/rails/engine/railties.rb
blob: 1081700cd05ad11b60ac245fdd9fd8e8d90f472e (plain) (tree)




























                                                                               
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)