Sha256: 86b7883c62db1f7efbeb2e7329036ff3a7c91ecedc7799152441d27d13dbd42c

Contents?: true

Size: 594 Bytes

Versions: 111

Compression:

Stored size: 594 Bytes

Contents

module PrependDependenciesCheckable
  def check_prepend_dependencies(target, dependencies)
    order = Array(dependencies[:before]) + [target] + Array(dependencies[:after])
    self.class.ancestors.reverse.each { |cls| order.shift if cls == order.first }
    order.empty?
  end

  def check_prepend_dependencies!(target, dependencies)
    unless check_prepend_dependencies(target, dependencies)
      raise "Invalid prepend dependencies. target:#{target} ancestors:#{self.class.ancestors} dependencies:#{dependencies}"
    end
  end
end

class Object
  include PrependDependenciesCheckable
end

Version data entries

111 entries across 111 versions & 1 rubygems

Version Path
flydata-0.2.28 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.2.27 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.2.26 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.2.25 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.2.24 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.2.23 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.2.22 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.2.21 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.2.20 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.2.19 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.2.18 flydata-core/lib/flydata-core/core_ext/object/prepend.rb