Sha256: f7eae69ee1e6592875639d1c5dace3fb43bd148d207f7b5c555c717b3647ae44
Contents?: true
Size: 1.41 KB
Versions: 6
Compression:
Stored size: 1.41 KB
Contents
module Capistrano class Configuration class Servers class HostFilter def initialize(available) @available = available end def self.for(available) new(available).hosts end def hosts if host_filter.any? @available.select { |server| host_filter.include? server.hostname } else @available end end private def filter if host_filter.any? host_filter else @available end end def host_filter env_filter | configuration_filter end def configuration_filter ConfigurationFilter.new.hosts end def env_filter EnvFilter.new.hosts end class ConfigurationFilter def hosts if filter Array(filter.fetch(:hosts, [])) else [] end end def config Configuration.env end def filter config.fetch(:filter) || config.fetch(:select) end end class EnvFilter def hosts if filter filter.split(',') else [] end end def filter ENV['HOSTS'] end end end end end end
Version data entries
6 entries across 4 versions & 2 rubygems