Sha256: 2a064413eba2074676f6a57bc2ca28ab1de9e66269d99a716f8e6da80f614457

Contents?: true

Size: 865 Bytes

Versions: 29

Compression:

Stored size: 865 Bytes

Contents

require "capistrano/configuration"
require "capistrano/configuration/empty_filter"
require "capistrano/configuration/host_filter"
require "capistrano/configuration/null_filter"
require "capistrano/configuration/role_filter"

module Capistrano
  class Configuration
    class Filter
      def initialize(type, values=nil)
        raise "Invalid filter type #{type}" unless %i(host role).include? type
        av = Array(values)
        @strategy = if av.empty? then EmptyFilter.new
                    elsif av.include?(:all) || av.include?("all") then NullFilter.new
                    elsif type == :host then HostFilter.new(values)
                    elsif type == :role then RoleFilter.new(values)
                    else NullFilter.new
                    end
      end

      def filter(servers)
        @strategy.filter servers
      end
    end
  end
end

Version data entries

29 entries across 29 versions & 2 rubygems

Version Path
capistrano-3.19.2 lib/capistrano/configuration/filter.rb
capistrano-3.19.1 lib/capistrano/configuration/filter.rb
capistrano-3.19.0 lib/capistrano/configuration/filter.rb
capistrano-3.18.1 lib/capistrano/configuration/filter.rb
honeybadger-5.4.0 vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/filter.rb
honeybadger-5.3.0 vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/lib/capistrano/configuration/filter.rb
capistrano-3.18.0 lib/capistrano/configuration/filter.rb
capistrano-3.17.3 lib/capistrano/configuration/filter.rb
capistrano-3.17.2 lib/capistrano/configuration/filter.rb
capistrano-3.17.1 lib/capistrano/configuration/filter.rb
capistrano-3.17.0 lib/capistrano/configuration/filter.rb
capistrano-3.16.0 lib/capistrano/configuration/filter.rb
capistrano-3.15.0 lib/capistrano/configuration/filter.rb
capistrano-3.14.1 lib/capistrano/configuration/filter.rb
capistrano-3.14.0 lib/capistrano/configuration/filter.rb
capistrano-3.13.0 lib/capistrano/configuration/filter.rb
capistrano-3.12.1 lib/capistrano/configuration/filter.rb
capistrano-3.12.0 lib/capistrano/configuration/filter.rb
honeybadger-4.5.3 vendor/bundle/ruby/2.6.0/gems/capistrano-3.11.0/lib/capistrano/configuration/filter.rb
capistrano-3.11.2 lib/capistrano/configuration/filter.rb