Sha256: fd2d7781fac04e0f9b55e7d6e53fb3af2615bb0f6c9d3e96831b59ca1227e37e
Contents?: true
Size: 1.28 KB
Versions: 6
Compression:
Stored size: 1.28 KB
Contents
module Solve # @author Jamie Winsor <jamie@vialstudios.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
6 entries across 6 versions & 1 rubygems