Sha256: df45cbe14576812da61f56929330a83cb99e051da7e7d399c5fd36568d5c54c0

Contents?: true

Size: 613 Bytes

Versions: 20

Compression:

Stored size: 613 Bytes

Contents

module Erector
  class Dependencies < Array
    def push(*new_dependencies_args)
      new_dependencies = new_dependencies_args.select do |new_dependency|
        !include?(new_dependency)
      end
      new_dependencies.each do |dep|
        unless dep.is_a? Erector::Dependency
          raise "expected Dependency, got #{dep.class}: #{dep.inspect}"
        end
      end
      super(*new_dependencies)
    end

    alias_method :<<, :push

    def uniq
      inject(self.class.new) do |memo, item|
        memo << item unless memo.any? {|memo_item| memo_item == item}
        memo
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 3 rubygems

Version Path
erector-rails4-0.2.0 lib/erector/dependencies.rb
erector-rails4-0.1.3 lib/erector/dependencies.rb
erector-rails4-0.1.2 lib/erector/dependencies.rb
erector-0.10.0 lib/erector/dependencies.rb
erector-rails4-0.1.1 lib/erector/dependencies.rb
erector-rails4-0.1.0 lib/erector/dependencies.rb
erector-rails4-0.0.7 lib/erector/dependencies.rb
erector-rails4-0.0.6 lib/erector/dependencies.rb
erector-rails4-0.0.5 lib/erector/dependencies.rb
erector-rails4-0.0.4 lib/erector/dependencies.rb
erector-rails4-0.0.3 lib/erector/dependencies.rb
erector-rails4-0.0.2 lib/erector/dependencies.rb
erector-rails4-0.0.1 lib/erector/dependencies.rb
erector-0.9.0 lib/erector/dependencies.rb
erector-0.9.0.pre1 lib/erector/dependencies.rb
erector-0.8.3 lib/erector/dependencies.rb
erector-0.8.2 lib/erector/dependencies.rb
honkster-erector-0.8.1 lib/erector/dependencies.rb
erector-0.8.1 lib/erector/dependencies.rb
erector-0.8.0 lib/erector/dependencies.rb