Class: Puppet::ModuleTool::Dependency Private
- Includes:
- Network::FormatSupport
- Defined in:
- lib/puppet/module_tool/dependency.rb
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Instance Attribute Summary collapse
- #full_module_name ⇒ Object readonly private
- #name ⇒ Object readonly private
- #repository ⇒ Object readonly private
- #username ⇒ Object readonly private
- #version_requirement ⇒ Object readonly private
Instance Method Summary collapse
-
#==(o) ⇒ Object
(also: #eql?)
private
We override Object’s ==, eql, and hash so we can more easily find identical dependencies.
- #hash ⇒ Object private
-
#initialize(full_module_name, version_requirement = nil, repository = nil) ⇒ Dependency
constructor
private
Instantiates a new module dependency with a
full_module_name
(e.g. “myuser-mymodule”), and optionalversion_requirement
(e.g. “0.0.1”) and optional repository (a URL string). - #to_data_hash ⇒ Object private
Methods included from Network::FormatSupport
included, #mime, #render, #support_format?, #to_json, #to_msgpack, #to_pson
Constructor Details
#initialize(full_module_name, version_requirement = nil, repository = nil) ⇒ Dependency
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
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).
15 16 17 18 19 20 21 |
# File 'lib/puppet/module_tool/dependency.rb', line 15 def initialize(full_module_name, version_requirement = nil, repository = nil) @full_module_name = full_module_name # TODO: add error checking, the next line raises ArgumentError when +full_module_name+ is invalid @username, @name = Puppet::ModuleTool.username_and_modname_from(full_module_name) @version_requirement = version_requirement @repository = repository ? Puppet::Forge::Repository.new(repository, nil) : nil end |
Instance Attribute Details
#full_module_name ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
10 11 12 |
# File 'lib/puppet/module_tool/dependency.rb', line 10 def full_module_name @full_module_name end |
#name ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
10 11 12 |
# File 'lib/puppet/module_tool/dependency.rb', line 10 def name @name end |
#repository ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
10 11 12 |
# File 'lib/puppet/module_tool/dependency.rb', line 10 def repository @repository end |
#username ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
10 11 12 |
# File 'lib/puppet/module_tool/dependency.rb', line 10 def username @username end |
#version_requirement ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
10 11 12 |
# File 'lib/puppet/module_tool/dependency.rb', line 10 def version_requirement @version_requirement end |
Instance Method Details
#==(o) ⇒ Object Also known as: eql?
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
We override Object’s ==, eql, and hash so we can more easily find identical dependencies.
25 26 27 |
# File 'lib/puppet/module_tool/dependency.rb', line 25 def ==(o) hash == o.hash end |
#hash ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
31 32 33 |
# File 'lib/puppet/module_tool/dependency.rb', line 31 def hash [@full_module_name, @version_requirement, @repository].hash end |
#to_data_hash ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
35 36 37 38 39 40 |
# File 'lib/puppet/module_tool/dependency.rb', line 35 def to_data_hash result = { :name => @full_module_name } result[:version_requirement] = @version_requirement if @version_requirement && !@version_requirement.nil? result[:repository] = @repository.to_s if @repository && !@repository.nil? result end |