class MutatorRails::FullMutate

Attributes

guide[R]

Public Class Methods

new(*) click to toggle source
# File lib/mutator_rails/full_mutate.rb, line 10
def initialize(*)
  excluded_files
  @guide = Guide.new
end

Public Instance Methods

call() click to toggle source
# File lib/mutator_rails/full_mutate.rb, line 15
def call
  process(all_files)
end
changed() click to toggle source
# File lib/mutator_rails/full_mutate.rb, line 27
def changed
  process(all_files - unprocessed_files - j1_files)
end
j1() click to toggle source
# File lib/mutator_rails/full_mutate.rb, line 23
def j1
  process(j1_files)
end
unprocessed() click to toggle source
# File lib/mutator_rails/full_mutate.rb, line 19
def unprocessed
  process(unprocessed_files)
end

Private Instance Methods

all_files() click to toggle source
# File lib/mutator_rails/full_mutate.rb, line 55
def all_files
  Dir.glob(APP_BASE + '**/*.rb')
end
exclude?(file) click to toggle source
# File lib/mutator_rails/full_mutate.rb, line 70
def exclude?(file)
  excluded_files.include?(file)
end
excluded_files() click to toggle source
# File lib/mutator_rails/full_mutate.rb, line 59
def excluded_files
  @exclusions ||= load_exclusions
end
j1_files() click to toggle source
# File lib/mutator_rails/full_mutate.rb, line 40
def j1_files
  all_files.select do |file|
    sm = SingleMutate.new(guide, file)
    !exclude?(file) && sm.need_j1?
  end
end
load_exclusions() click to toggle source
# File lib/mutator_rails/full_mutate.rb, line 63
def load_exclusions
  MutatorRails::Config.configuration
    .exclusions
    .compact
    .flat_map { |exclusion| Dir.glob(exclusion) }
end
process(files) click to toggle source
# File lib/mutator_rails/full_mutate.rb, line 47
def process(files)
  files.sort_by { |x| File.size(x) }.each do |file|
    next if exclude?(file)

    SingleMutate.new(guide, file).call
  end
end
unprocessed_files() click to toggle source
# File lib/mutator_rails/full_mutate.rb, line 33
def unprocessed_files
  all_files.select do |file|
    sm = SingleMutate.new(guide, file)
    !exclude?(file) && !guide.log_exists?(sm.log)
  end
end