Sha256: a98d8e83b891ba04421e38de5829cbf963dfaca54817e439d1dfef2d98c1ee5f

Contents?: true

Size: 831 Bytes

Versions: 11

Compression:

Stored size: 831 Bytes

Contents

module Goodcheck
  class Trigger
    attr_reader :patterns
    attr_reader :globs
    attr_reader :passes
    attr_reader :fails
    attr_reader :negated

    def initialize(patterns:, globs:, passes:, fails:, negated:)
      @patterns = patterns
      @globs = globs
      @passes = passes
      @fails = fails
      @negated = negated
    end

    def by_pattern!
      @by_pattern = true
      self
    end

    def by_pattern?
      # True if the trigger is from `pattern` or `not` attribute (compatible mode.)
      @by_pattern
    end

    def skips_fail_examples!(flag = true)
      @skips_fail_examples = flag
      self
    end

    def skips_fail_examples?
      @skips_fail_examples
    end

    def negated?
      @negated
    end

    def fires_for?(path:)
      globs.any? {|glob| glob.test(path) }
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
goodcheck-2.4.3 lib/goodcheck/trigger.rb
goodcheck-2.4.2 lib/goodcheck/trigger.rb
goodcheck-2.4.1 lib/goodcheck/trigger.rb
goodcheck-2.4.0 lib/goodcheck/trigger.rb
goodcheck-2.3.2 lib/goodcheck/trigger.rb
goodcheck-2.3.1 lib/goodcheck/trigger.rb
goodcheck-2.3.0 lib/goodcheck/trigger.rb
goodcheck-2.2.0 lib/goodcheck/trigger.rb
goodcheck-2.1.2 lib/goodcheck/trigger.rb
goodcheck-2.1.1 lib/goodcheck/trigger.rb
goodcheck-2.1.0 lib/goodcheck/trigger.rb