class Isolator::Ignorer::AdapterIgnore

Attributes

adapter[RW]
ignored_paths[RW]
regex_string[RW]

Public Class Methods

new(adapter:, ignored_paths:, regex_string:) click to toggle source
# File lib/isolator/ignorer.rb, line 24
def initialize(adapter:, ignored_paths:, regex_string:)
  self.adapter = adapter
  self.ignored_paths = ignored_paths
  self.regex_string = regex_string
end

Public Instance Methods

prepare() click to toggle source
# File lib/isolator/ignorer.rb, line 30
def prepare
  return if ignores.blank?

  adapter.ignore_if { caller.any? { |row| regex =~ row } }
end

Private Instance Methods

ignores() click to toggle source
# File lib/isolator/ignorer.rb, line 40
def ignores
  return @ignores if defined? @ignores

  @ignores = ignored_paths.each_with_object([]) do |path, result|
    ignored_files = Dir[path]

    if ignored_files.blank?
      result << path.to_s
    else
      result.concat(ignored_files)
    end
  end
end
regex() click to toggle source
# File lib/isolator/ignorer.rb, line 54
def regex
  Regexp.new(regex_string.gsub("#ignores#", ignores.join("|")))
end