class Puppet::ModuleTool::Dependency
Attributes
full_module_name[R]
name[R]
repository[R]
username[R]
version_requirement[R]
Public Class Methods
new(full_module_name, version_requirement = nil, repository = nil)
click to toggle source
Instantiates a new module dependency with a full_module_name
(e.g. “myuser-mymodule”), and optional version_requirement
(e.g. “0.0.1”) and optional repository (a URL string).
# File lib/puppet/module_tool/dependency.rb 14 def initialize(full_module_name, version_requirement = nil, repository = nil) 15 @full_module_name = full_module_name 16 # TODO: add error checking, the next line raises ArgumentError when +full_module_name+ is invalid 17 @username, @name = Puppet::ModuleTool.username_and_modname_from(full_module_name) 18 @version_requirement = version_requirement 19 @repository = repository ? Puppet::Forge::Repository.new(repository, nil) : nil 20 end
Public Instance Methods
==(o)
click to toggle source
We override Object's ==, eql, and hash so we can more easily find identical dependencies.
# File lib/puppet/module_tool/dependency.rb 24 def ==(o) 25 self.hash == o.hash 26 end
Also aliased as: eql?
hash()
click to toggle source
# File lib/puppet/module_tool/dependency.rb 30 def hash 31 [@full_module_name, @version_requirement, @repository].hash 32 end
to_data_hash()
click to toggle source
# File lib/puppet/module_tool/dependency.rb 34 def to_data_hash 35 result = { :name => @full_module_name } 36 result[:version_requirement] = @version_requirement if @version_requirement && ! @version_requirement.nil? 37 result[:repository] = @repository.to_s if @repository && ! @repository.nil? 38 result 39 end