Sha256: 0894ef46d7e0e5651a790b971c0171d0e1964adfcc9897463d4a21a9e1e0b6f5
Contents?: true
Size: 1.28 KB
Versions: 2
Compression:
Stored size: 1.28 KB
Contents
module Solve # @author Jamie Winsor <reset@riotgames.com> class Dependency # A reference to the artifact this dependency belongs to # # @return [Solve::Artifact] attr_reader :artifact # The name of the artifact this dependency represents # # @return [String] attr_reader :name # The constraint requirement of this dependency # # @return [Solve::Constraint] attr_reader :constraint # @param [Solve::Artifact] artifact # @param [#to_s] name # @param [Solve::Constraint, #to_s] constraint def initialize(artifact, name, constraint = ">= 0.0.0") @artifact = artifact @name = name @constraint = case constraint when Solve::Constraint constraint else Constraint.new(constraint) end end # Remove this dependency from the artifact it belongs to # # @return [Solve::Dependency, nil] def delete unless artifact.nil? result = artifact.remove_dependency(self) @artifact = nil result end end # @param [Object] other # # @return [Boolean] def ==(other) other.is_a?(self.class) && self.artifact == other.artifact && self.constraint == other.constraint end alias_method :eql?, :== end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
solve-0.4.4 | lib/solve/dependency.rb |
solve-0.4.3 | lib/solve/dependency.rb |