Class: Ey::Core::Cli::Helpers::ServerSieve

Inherits:
Object
  • Object
show all
Defined in:
lib/ey-core/cli/helpers/server_sieve.rb

Constant Summary collapse

ROLES =
[
  :app_servers,
  :db_servers,
  :db_master,
  :utilities
]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(servers_api, options = {}) ⇒ ServerSieve

Returns a new instance of ServerSieve.



19
20
21
22
# File 'lib/ey-core/cli/helpers/server_sieve.rb', line 19

def initialize(servers_api, options = {})
  @servers_api = servers_api
  @options = options
end

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



13
14
15
# File 'lib/ey-core/cli/helpers/server_sieve.rb', line 13

def options
  @options
end

#servers_apiObject (readonly)

Returns the value of attribute servers_api.



13
14
15
# File 'lib/ey-core/cli/helpers/server_sieve.rb', line 13

def servers_api
  @servers_api
end

Class Method Details

.filter(servers_api, options = {}) ⇒ Object



15
16
17
# File 'lib/ey-core/cli/helpers/server_sieve.rb', line 15

def self.filter(servers_api, options = {})
  new(servers_api, options).filtered
end

Instance Method Details

#filteredObject



24
25
26
27
28
29
30
# File 'lib/ey-core/cli/helpers/server_sieve.rb', line 24

def filtered
  return all_servers if requested?(:all)

  requested_roles.map {|role|
    role == :utilities ? utils_named(option(:utilities)) : send(role)
  }.flatten.uniq
end