Method: DO::Commands#server
- Defined in:
- lib/do/commands.rb
#server(name, host, user, options = {}) ⇒ Object
This method define our servers
Examples:
keys = %w[key1.pem key2.pem key3.pem key4.pem]
server :srv1, 's1.domain.local', 'user', :keys => keys
server :srv2, 's2.domain.local', 'user', :keys => keys
server :srv3, 's3.domain.local', 'user', :keys => keys
server :srv4, 's4.domain.local', 'user', :keys => keys
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/do/commands.rb', line 70 def server(name, host, user, ={}) servers.push(DO::Server.new(name, host, user, )) task name do |opts, b| allowed = opts.map { |k,v| k if remote.include?(k) && v }.compact denied = opts.map { |k,v| k if remote.include?(k) && v == false }.compact if (allowed.empty? && denied.empty?) || (!allowed.empty? && allowed.include?(name)) || (!denied.empty? && !denied.include?(name)) @_current_server = servers.find { |s| s.name == name } begin b.arity == 1 ? b.call(opts) : b.call ensure @_current_server = nil end end end end |