class Jisota::Configuration
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
Attributes
packages[RW]
roles[RW]
servers[RW]
ssh_engine[RW]
Public Class Methods
new(options = {}, &block)
click to toggle source
# File lib/jisota/configuration.rb, line 10 def initialize(options = {}, &block) @packages = options.fetch(:packages) { Collection.new } @roles = options.fetch(:role) { Collection.new } @servers = options.fetch(:servers) { [] } @ssh_engine = options.fetch(:ssh_engine) { SSHEngine.new } DSL.new(self).evaluate(&block) if block_given? end
Public Instance Methods
add_package(package)
click to toggle source
# File lib/jisota/configuration.rb, line 18 def add_package(package) packages.add(package) end
add_role(role)
click to toggle source
# File lib/jisota/configuration.rb, line 26 def add_role(role) roles.add(role) end
add_server(server)
click to toggle source
# File lib/jisota/configuration.rb, line 34 def add_server(server) servers << server end
each_server(&block)
click to toggle source
# File lib/jisota/configuration.rb, line 38 def each_server(&block) servers.each(&block) end
get_package(name)
click to toggle source
# File lib/jisota/configuration.rb, line 22 def get_package(name) packages[name] end
get_role(name)
click to toggle source
# File lib/jisota/configuration.rb, line 30 def get_role(name) roles[name] end