Sha256: d672a9d55c069697cac92c51f6d7e3383a1616ba28c63850233693e4a7c9377a

Contents?: true

Size: 361 Bytes

Versions: 4

Compression:

Stored size: 361 Bytes

Contents

require 'tsort'

module Adhearsion
  class Plugin
    class Collection < Array
      include TSort

      alias :tsort_each_node :each

      def tsort_each_child(child, &block)
        select { |i| i.before == child.name || i.name == child.after }.each &block
      end

      def +(other)
        Collection.new(to_a + other.to_a)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
adhearsion-2.0.0.beta1 lib/adhearsion/plugin/collection.rb
adhearsion-2.0.0.alpha3 lib/adhearsion/plugin/collection.rb
adhearsion-2.0.0.alpha2 lib/adhearsion/plugin/collection.rb
adhearsion-2.0.0.alpha1 lib/adhearsion/plugin/collection.rb