Class: Jisota::Configuration
- Inherits:
-
Object
- Object
- Jisota::Configuration
- Defined in:
- lib/jisota/configuration.rb
Overview
Stores all information required to run a provision against one or multiple servers (Except for the global package manager, which is stored in the Jisota module).
Uses DSL methods in the initializer for convenient definition of packages, roles and servers
Defined Under Namespace
Classes: DSL
Instance Attribute Summary collapse
-
#packages ⇒ Object
Returns the value of attribute packages.
-
#roles ⇒ Object
Returns the value of attribute roles.
-
#servers ⇒ Object
Returns the value of attribute servers.
-
#ssh_engine ⇒ Object
Returns the value of attribute ssh_engine.
Instance Method Summary collapse
- #add_package(package) ⇒ Object
- #add_role(role) ⇒ Object
- #add_server(server) ⇒ Object
- #each_server(&block) ⇒ Object
- #get_package(name) ⇒ Object
- #get_role(name) ⇒ Object
-
#initialize(options = {}, &block) ⇒ Configuration
constructor
A new instance of Configuration.
Constructor Details
#initialize(options = {}, &block) ⇒ Configuration
Returns a new instance of Configuration.
10 11 12 13 14 15 16 |
# File 'lib/jisota/configuration.rb', line 10 def initialize( = {}, &block) @packages = .fetch(:packages) { Collection.new } @roles = .fetch(:role) { Collection.new } @servers = .fetch(:servers) { [] } @ssh_engine = .fetch(:ssh_engine) { SSHEngine.new } DSL.new(self).evaluate(&block) if block_given? end |
Instance Attribute Details
#packages ⇒ Object
Returns the value of attribute packages.
8 9 10 |
# File 'lib/jisota/configuration.rb', line 8 def packages @packages end |
#roles ⇒ Object
Returns the value of attribute roles.
8 9 10 |
# File 'lib/jisota/configuration.rb', line 8 def roles @roles end |
#servers ⇒ Object
Returns the value of attribute servers.
8 9 10 |
# File 'lib/jisota/configuration.rb', line 8 def servers @servers end |
#ssh_engine ⇒ Object
Returns the value of attribute ssh_engine.
8 9 10 |
# File 'lib/jisota/configuration.rb', line 8 def ssh_engine @ssh_engine end |
Instance Method Details
#add_package(package) ⇒ Object
18 19 20 |
# File 'lib/jisota/configuration.rb', line 18 def add_package(package) packages.add(package) end |
#add_role(role) ⇒ Object
26 27 28 |
# File 'lib/jisota/configuration.rb', line 26 def add_role(role) roles.add(role) end |
#add_server(server) ⇒ Object
34 35 36 |
# File 'lib/jisota/configuration.rb', line 34 def add_server(server) servers << server end |
#each_server(&block) ⇒ Object
38 39 40 |
# File 'lib/jisota/configuration.rb', line 38 def each_server(&block) servers.each(&block) end |
#get_package(name) ⇒ Object
22 23 24 |
# File 'lib/jisota/configuration.rb', line 22 def get_package(name) packages[name] end |
#get_role(name) ⇒ Object
30 31 32 |
# File 'lib/jisota/configuration.rb', line 30 def get_role(name) roles[name] end |