Sha256: 953ebb331d01a2cf74912f6b375a8d89f5139faba8a1dd93dad8914ddcb67b91

Contents?: true

Size: 719 Bytes

Versions: 6

Compression:

Stored size: 719 Bytes

Contents

module Rails
  class Application < Engine
    protected

    # Append wagons at the end of all railties, even after the application.
    def ordered_railties_with_wagons
      @ordered_railties ||= ordered_railties_without_wagons.tap do |ordered|
        Wagons.all.each do |w|
          ordered.unshift(array_deep_delete(ordered, w))
        end
      end
    end
    alias ordered_railties_without_wagons ordered_railties
    alias ordered_railties ordered_railties_with_wagons

    private

    def array_deep_delete(array, item)
      array.delete(item) ||
      array.select  { |i| i.is_a?(Array) }.
            collect { |i| array_deep_delete(i, item) }.
            compact.
            first
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
wagons-0.9.1 lib/wagons/extensions/application.rb
wagons-0.9.0 lib/wagons/extensions/application.rb
wagons-0.8.0 lib/wagons/extensions/application.rb
wagons-0.7.0 lib/wagons/extensions/application.rb
wagons-0.6.1 lib/wagons/extensions/application.rb
wagons-0.6.0 lib/wagons/extensions/application.rb