class TestDiff::Config

Holds all the configuration details

Attributes

current_tracking_filename[RW]
map_subfolder[RW]
storage[W]
test_pattern[RW]
test_runner[W]
version_control[W]
working_directory[RW]

Public Class Methods

method_missing(method, *args) click to toggle source
Calls superclass method
# File lib/test_diff/config.rb, line 53
def self.method_missing(method, *args)
  if instance.respond_to?(method)
    instance.send(method, *args)
  else
    super
  end
end
new() click to toggle source
# File lib/test_diff/config.rb, line 12
def initialize
  reset
end
respond_to_missing?(method, *args) click to toggle source
Calls superclass method
# File lib/test_diff/config.rb, line 61
def self.respond_to_missing?(method, *args)
  super && instance.respond_to?(method)
end

Public Instance Methods

current_tracking_file() click to toggle source
# File lib/test_diff/config.rb, line 49
def current_tracking_file
  "#{map_folder}/#{current_tracking_filename}"
end
logger() click to toggle source
# File lib/test_diff/config.rb, line 40
def logger
  require 'logger'
  @logger ||= Logger.new($stdout)
end
map_folder() click to toggle source
# File lib/test_diff/config.rb, line 45
def map_folder
  "#{working_directory}/#{map_subfolder}"
end
reset() click to toggle source
# File lib/test_diff/config.rb, line 16
def reset
  self.working_directory = '.'
  self.map_subfolder = 'test_diff_coverage'
  self.current_tracking_filename = 'sha'
  self.test_pattern = /spec.rb\z/
  @version_control = nil
  @storage = nil
  @test_runner = nil
  @logger = nil
end
storage() click to toggle source
# File lib/test_diff/config.rb, line 32
def storage
  @storage ||= Storage.new(map_folder)
end
test_runner() click to toggle source
# File lib/test_diff/config.rb, line 36
def test_runner
  @test_runner ||= TestRunner::Rspec.new
end
version_control() click to toggle source
# File lib/test_diff/config.rb, line 27
def version_control
  @version_control ||= VersionControl::Git.new(working_directory,
                                               File.read(current_tracking_file))
end