Sha256: ec3842688615e84ad4c7427b8fc1aef6024824f1a57fa8eadaf442b3fb4132ab

Contents?: true

Size: 607 Bytes

Versions: 5

Compression:

Stored size: 607 Bytes

Contents

# encoding: UTF-8

class DumpRake
  module Env
    class Filter
      attr_reader :invert, :values, :transparent
      def initialize(s, splitter = nil)
        if s
          s = s.dup
          @invert = !!s.sub!(/^-/, '')
          @values = s.split(splitter || ',').map(&:strip).map(&:downcase).uniq.select(&:present?)
        else
          @transparent = true
        end
      end

      def pass?(value)
        transparent || (invert ^ values.include?(value.to_s.downcase))
      end

      def custom_pass?(&block)
        transparent || (invert ^ values.any?(&block))
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
dump-1.0.4 lib/dump_rake/env/filter.rb
dump-1.0.3 lib/dump_rake/env/filter.rb
dump-1.0.2 lib/dump_rake/env/filter.rb
dump-1.0.1 lib/dump_rake/env/filter.rb
dump-1.0.0 lib/dump_rake/env/filter.rb