Module: Minestrone::Configuration::Servers

Included in:
Minestrone::Configuration
Defined in:
lib/minestrone/configuration/servers.rb

Instance Method Summary collapse

Instance Method Details

#initialize_serversObject

:nodoc:



9
10
11
# File 'lib/minestrone/configuration/servers.rb', line 9

def initialize_servers #:nodoc:
  @server = nil
end

#resolved_serverObject

Returns the configured server. If the SERVER environment variable is set, it replaces the configured host name while preserving configured connection options such as user, port, and SSH options.



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/minestrone/configuration/servers.rb', line 30

def resolved_server
  if env_key = server_override_env
    host = ENV[env_key].strip
    raise ArgumentError, "#{env_key} must name a single server" if host.empty? || host.include?(',')

    options = @server ? connection_options_for(@server) : {}
    server_definition_from(host, options)
  else
    @server or raise Minestrone::NoMatchingServersError, "no server configured"
  end
end

#server(host, options = {}) ⇒ Object

Define the server. The host may include user and port information, or those may be supplied as options:

server "www@example.com"
server "app.example.com", :user => "deploy"

Raises:

  • (ArgumentError)


19
20
21
22
23
24
# File 'lib/minestrone/configuration/servers.rb', line 19

def server(host, options = {})
  raise ArgumentError, "server accepts one host and an optional options hash" unless options.is_a?(Hash)
  raise ArgumentError, "you may only define one server" if @server

  @server = server_definition_from(host, options)
end