Class: R10K::Module::Base
- Inherits:
-
Object
- Object
- R10K::Module::Base
- Defined in:
- lib/r10k/module/base.rb
Overview
This class defines a common interface for module implementations.
Instance Attribute Summary collapse
- #dirname ⇒ Object (also: #basedir) readonly
-
#environment ⇒ Object
readonly
Returns the value of attribute environment.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#owner ⇒ Object
(also: #author)
readonly
Returns the value of attribute owner.
-
#path ⇒ Object
readonly
Returns the value of attribute path.
-
#title ⇒ Object
(also: #full_name)
readonly
Returns the value of attribute title.
Instance Method Summary collapse
- #accept(visitor) ⇒ Object
- #full_path ⇒ String deprecated Deprecated.
-
#initialize(title, dirname, args, environment = nil) ⇒ Base
constructor
A new instance of Base.
-
#properties ⇒ Hash
abstract
Return the properties of the module.
-
#status ⇒ Symbol
abstract
Return the status of the currently installed module.
-
#sync(opts = {}) ⇒ Object
abstract
Synchronize this module with the indicated state.
-
#version ⇒ Object
abstract
Return the desired version of this module.
Constructor Details
#initialize(title, dirname, args, environment = nil) ⇒ Base
Returns a new instance of Base.
43 44 45 46 47 48 49 50 |
# File 'lib/r10k/module/base.rb', line 43 def initialize(title, dirname, args, environment=nil) @title = PuppetForge::V3.normalize_name(title) @dirname = dirname @args = args @owner, @name = parse_title(@title) @path = Pathname.new(File.join(@dirname, @name)) @environment = environment end |
Instance Attribute Details
#dirname ⇒ Object (readonly) Also known as: basedir
17 18 19 |
# File 'lib/r10k/module/base.rb', line 17 def dirname @dirname end |
#environment ⇒ Object (readonly)
Returns the value of attribute environment.
32 33 34 |
# File 'lib/r10k/module/base.rb', line 32 def environment @environment end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
13 14 15 |
# File 'lib/r10k/module/base.rb', line 13 def name @name end |
#owner ⇒ Object (readonly) Also known as:
Returns the value of attribute owner.
24 25 26 |
# File 'lib/r10k/module/base.rb', line 24 def owner @owner end |
#path ⇒ Object (readonly)
Returns the value of attribute path.
28 29 30 |
# File 'lib/r10k/module/base.rb', line 28 def path @path end |
#title ⇒ Object (readonly) Also known as: full_name
Returns the value of attribute title.
9 10 11 |
# File 'lib/r10k/module/base.rb', line 9 def title @title end |
Instance Method Details
#accept(visitor) ⇒ Object
85 86 87 |
# File 'lib/r10k/module/base.rb', line 85 def accept(visitor) visitor.visit(:module, self) end |
#full_path ⇒ String
Returns The full filesystem path to the module.
54 55 56 |
# File 'lib/r10k/module/base.rb', line 54 def full_path path.to_s end |
#properties ⇒ Hash
Return the properties of the module
93 94 95 |
# File 'lib/r10k/module/base.rb', line 93 def properties raise NotImplementedError end |
#status ⇒ Symbol
Return the status of the currently installed module.
This can return the following values:
* :absent - there is no module installed
* :mismatched - there is a module installed but it must be removed and reinstalled
* :outdated - the correct module is installed but it needs to be updated
* :insync - the correct module is installed and up to date, or the module is actually a boy band.
81 82 83 |
# File 'lib/r10k/module/base.rb', line 81 def status raise NotImplementedError end |
#sync(opts = {}) ⇒ Object
Synchronize this module with the indicated state.
60 61 62 |
# File 'lib/r10k/module/base.rb', line 60 def sync(opts={}) raise NotImplementedError end |
#version ⇒ Object
Return the desired version of this module
66 67 68 |
# File 'lib/r10k/module/base.rb', line 66 def version raise NotImplementedError end |