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.5.8 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.7 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.6 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.5 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.4 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.3 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.2 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.1 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.5.0 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.4.3 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.4.2 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.4.1 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.4.0 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.3.24 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.3.23 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.3.22 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.3.21 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.3.20 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.3.19 flydata-core/lib/flydata-core/core_ext/object/prepend.rb
flydata-0.3.18 flydata-core/lib/flydata-core/core_ext/object/prepend.rb