Class: Capistrano::Configuration::Server
- Inherits:
-
SSHKit::Host
- Object
- SSHKit::Host
- Capistrano::Configuration::Server
- Extended by:
- Forwardable
- Defined in:
- lib/capistrano/configuration/server.rb
Defined Under Namespace
Classes: Properties
Class Method Summary collapse
Instance Method Summary collapse
- #add_role(role) ⇒ Object
- #add_roles(roles) ⇒ Object (also: #roles=)
- #has_role?(role) ⇒ Boolean
- #matches?(other) ⇒ Boolean
- #netssh_options ⇒ Object
- #primary ⇒ Object
- #properties ⇒ Object
- #roles_array ⇒ Object
- #select?(options) ⇒ Boolean
- #with(properties) ⇒ Object
Class Method Details
.[](host) ⇒ Object
8 9 10 |
# File 'lib/capistrano/configuration/server.rb', line 8 def self.[](host) host.is_a?(Server) ? host : new(host) end |
Instance Method Details
#add_role(role) ⇒ Object
18 19 20 21 |
# File 'lib/capistrano/configuration/server.rb', line 18 def add_role(role) roles.add role.to_sym self end |
#add_roles(roles) ⇒ Object Also known as: roles=
12 13 14 15 |
# File 'lib/capistrano/configuration/server.rb', line 12 def add_roles(roles) Array(roles).each { |role| add_role(role) } self end |
#has_role?(role) ⇒ Boolean
23 24 25 |
# File 'lib/capistrano/configuration/server.rb', line 23 def has_role?(role) roles.include? role.to_sym end |
#matches?(other) ⇒ Boolean
66 67 68 69 |
# File 'lib/capistrano/configuration/server.rb', line 66 def matches?(other) # This matching logic must stay in sync with `Servers#add_host`. hostname == other.hostname && port == other.port end |
#netssh_options ⇒ Object
58 59 60 |
# File 'lib/capistrano/configuration/server.rb', line 58 def @netssh_options ||= super.merge(fetch(:ssh_options) || {}) end |
#primary ⇒ Object
45 46 47 |
# File 'lib/capistrano/configuration/server.rb', line 45 def primary self if fetch(:primary) end |
#properties ⇒ Object
54 55 56 |
# File 'lib/capistrano/configuration/server.rb', line 54 def properties @properties ||= Properties.new end |
#roles_array ⇒ Object
62 63 64 |
# File 'lib/capistrano/configuration/server.rb', line 62 def roles_array roles.to_a end |
#select?(options) ⇒ Boolean
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/capistrano/configuration/server.rb', line 27 def select?() .each do |k, v| callable = v.respond_to?(:call) ? v : ->(server) { server.fetch(v) } result = \ case k when :filter, :select callable.call(self) when :exclude !callable.call(self) else fetch(k) == v end return false unless result end true end |
#with(properties) ⇒ Object
49 50 51 52 |
# File 'lib/capistrano/configuration/server.rb', line 49 def with(properties) properties.each { |key, value| add_property(key, value) } self end |