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.6.8 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.6.7 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.6.6 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.6.5 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.6.4 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.6.3 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.6.2 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.6.1 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.6.0 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.21 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.20 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.17 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.16 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.15 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.14 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.13 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.12 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.11 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.10 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.9 flydata-core/lib/flydata-core/core_ext/object/prepend.rb