class SemanticPuppet::Dependency::ModuleRelease
Attributes
name[R]
version[R]
Public Class Methods
new(source, name, version, dependencies = {})
click to toggle source
Create a new instance of a module release.
@param source [SemanticPuppet::Dependency::Source] @param name [String] @param version [SemanticPuppet::Version] @param dependencies [{String => SemanticPuppet::VersionRange}]
# File lib/semantic_puppet/dependency/module_release.rb, line 16 def initialize(source, name, version, dependencies = {}) @source = source @name = name.freeze @version = version.freeze dependencies.each do |name, range| add_constraint('initialize', name, range.to_s) do |node| range === node.version end add_dependency(name) end end
Public Instance Methods
<=>(oth)
click to toggle source
# File lib/semantic_puppet/dependency/module_release.rb, line 34 def <=>(oth) our_key = [ priority, name, version ] their_key = [ oth.priority, oth.name, oth.version ] return our_key <=> their_key end
eql?(other)
click to toggle source
# File lib/semantic_puppet/dependency/module_release.rb, line 41 def eql?(other) other.is_a?(ModuleRelease) && @name.eql?(other.name) && @version.eql?(other.version) && dependencies.eql?(other.dependencies) end
Also aliased as: ==
hash()
click to toggle source
# File lib/semantic_puppet/dependency/module_release.rb, line 49 def hash @name.hash ^ @version.hash end
priority()
click to toggle source
# File lib/semantic_puppet/dependency/module_release.rb, line 30 def priority @source.priority end
to_s()
click to toggle source
# File lib/semantic_puppet/dependency/module_release.rb, line 53 def to_s "#<#{self.class} #{name}@#{version}>" end