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?
eql?(o)
Alias for: ==
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