Class: TheRunner::Context
- Inherits:
-
Object
- Object
- TheRunner::Context
- Defined in:
- lib/the_runner/context.rb,
lib/the_runner/context/config.rb
Defined Under Namespace
Classes: Config
Instance Attribute Summary collapse
-
#command ⇒ Object
Returns the value of attribute command.
-
#config ⇒ Object
Returns the value of attribute config.
-
#servers ⇒ Object
Returns the value of attribute servers.
Instance Method Summary collapse
- #add_server(server) ⇒ Object
- #add_servers(servers) ⇒ Object
- #get_runner_for(server) ⇒ Object
- #has_specific_config_for?(server) ⇒ Boolean
-
#initialize(logger = nil) {|_self| ... } ⇒ Context
constructor
A new instance of Context.
Constructor Details
#initialize(logger = nil) {|_self| ... } ⇒ Context
Returns a new instance of Context.
6 7 8 9 10 11 12 13 14 |
# File 'lib/the_runner/context.rb', line 6 def initialize(logger = nil) @servers = [] @command = '' @server_configs = {} @config = TheRunner::Context::Config.new @logger = Logger.new(STDOUT) if logger.nil? yield self if block_given? end |
Instance Attribute Details
#command ⇒ Object
Returns the value of attribute command.
5 6 7 |
# File 'lib/the_runner/context.rb', line 5 def command @command end |
#config ⇒ Object
Returns the value of attribute config.
5 6 7 |
# File 'lib/the_runner/context.rb', line 5 def config @config end |
#servers ⇒ Object
Returns the value of attribute servers.
5 6 7 |
# File 'lib/the_runner/context.rb', line 5 def servers @servers end |
Instance Method Details
#add_server(server) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/the_runner/context.rb', line 15 def add_server(server) server = Server.new(server) unless server.is_a?(Server) @servers << server if block_given? config = Config.new yield config @server_configs[server] = config end end |
#add_servers(servers) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/the_runner/context.rb', line 26 def add_servers(servers) servers.each do |server| if block_given? add_server(server) { |config| yield config } else add_server(server) end end end |
#get_runner_for(server) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/the_runner/context.rb', line 37 def get_runner_for(server) if has_specific_config_for?(server) @config.runner.new(server, @server_configs[server]., @logger) else @config.runner.new(server, @config., @logger) end end |
#has_specific_config_for?(server) ⇒ Boolean
44 45 46 |
# File 'lib/the_runner/context.rb', line 44 def has_specific_config_for?(server) @server_configs.has_key?(server) end |