Class: R10K::Environment::Base
- Inherits:
-
Object
- Object
- R10K::Environment::Base
- Defined in:
- lib/r10k/environment/base.rb
Overview
This class defines a common interface for environment implementations.
Instance Attribute Summary collapse
- #basedir ⇒ Object readonly
- #dirname ⇒ Object readonly
- #name ⇒ Object readonly
- #path ⇒ Object readonly
- #puppetfile ⇒ Object readonly
Instance Method Summary collapse
- #accept(visitor) ⇒ Object
-
#initialize(name, basedir, dirname, options = {}) ⇒ Base
constructor
Initialize the given environment.
-
#modules ⇒ Array<R10K::Module::Base>
All modules defined in the Puppetfile associated with this environment.
-
#status ⇒ Symbol
abstract
Determine the current status of the environment.
-
#sync ⇒ void
abstract
Synchronize the given environment.
Constructor Details
#initialize(name, basedir, dirname, options = {}) ⇒ Base
Initialize the given environment.
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/r10k/environment/base.rb', line 34 def initialize(name, basedir, dirname, = {}) @name = name @basedir = basedir @dirname = dirname @options = @full_path = File.join(@basedir, @dirname) @path = Pathname.new(File.join(@basedir, @dirname)) @puppetfile = R10K::Puppetfile.new(@full_path) end |
Instance Attribute Details
#basedir ⇒ Object (readonly)
12 13 14 |
# File 'lib/r10k/environment/base.rb', line 12 def basedir @basedir end |
#dirname ⇒ Object (readonly)
16 17 18 |
# File 'lib/r10k/environment/base.rb', line 16 def dirname @dirname end |
#name ⇒ Object (readonly)
8 9 10 |
# File 'lib/r10k/environment/base.rb', line 8 def name @name end |
#path ⇒ Object (readonly)
20 21 22 |
# File 'lib/r10k/environment/base.rb', line 20 def path @path end |
#puppetfile ⇒ Object (readonly)
25 26 27 |
# File 'lib/r10k/environment/base.rb', line 25 def puppetfile @puppetfile end |
Instance Method Details
#accept(visitor) ⇒ Object
77 78 79 80 81 |
# File 'lib/r10k/environment/base.rb', line 77 def accept(visitor) visitor.visit(:environment, self) do puppetfile.accept(visitor) end end |
#modules ⇒ Array<R10K::Module::Base>
Returns All modules defined in the Puppetfile associated with this environment.
72 73 74 75 |
# File 'lib/r10k/environment/base.rb', line 72 def modules @puppetfile.load @puppetfile.modules end |
#status ⇒ Symbol
This method is abstract.
Determine the current status of the environment.
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.
66 67 68 |
# File 'lib/r10k/environment/base.rb', line 66 def status raise NotImplementedError, "#{self.class} has not implemented method #{__method__}" end |
#sync ⇒ void
This method is abstract.
This method returns an undefined value.
Synchronize the given environment.
50 51 52 |
# File 'lib/r10k/environment/base.rb', line 50 def sync raise NotImplementedError, "#{self.class} has not implemented method #{__method__}" end |