class Koine::TestRunner::Configuration

Attributes

file_path[R]

Public Class Methods

new(attributes = []) click to toggle source
# File lib/koine/test_runner/configuration.rb, line 6
def initialize(attributes = [])
  initialize_options(attributes.dup)
  initialize_attributes(attributes.dup)
end

Public Instance Methods

all?() click to toggle source
# File lib/koine/test_runner/configuration.rb, line 19
def all?
  @options[:all]
end
config_file() click to toggle source
# File lib/koine/test_runner/configuration.rb, line 27
def config_file
  return @options[:config_file] if @options[:config_file]
  return '.test_runner.yml' if File.exist?('.test_runner.yml')
  File.expand_path('../../../config/default.yml', __dir__)
end
last?() click to toggle source
# File lib/koine/test_runner/configuration.rb, line 23
def last?
  @options[:last]
end
line() click to toggle source
# File lib/koine/test_runner/configuration.rb, line 11
def line
  @options[:line].to_i if line?
end
line?() click to toggle source
# File lib/koine/test_runner/configuration.rb, line 15
def line?
  @options[:line].to_s.tr('true', '').strip != ''
end
run_options() click to toggle source
# File lib/koine/test_runner/configuration.rb, line 33
def run_options
  { file_path: file_path, line: line }
end

Private Instance Methods

initialize_attributes(arguments) click to toggle source
# File lib/koine/test_runner/configuration.rb, line 39
def initialize_attributes(arguments)
  @file_path = arguments.reject { |arg| arg =~ /^--/ }.shift

  if require_file_name? && @file_path.nil?
    raise ArgumentError, 'file name was not given'
  end
end
initialize_options(data) click to toggle source
# File lib/koine/test_runner/configuration.rb, line 51
def initialize_options(data)
  @options = { all: false }

  data = data.select { |arg| arg =~ /^--([a-z-]+)/ }.map do |arg|
    arg.split('--').last.split('=')
  end

  data.each do |values|
    key = values.first
    value = values.length == 2 ? values.last : true
    @options[normalize_key(key)] = value
  end
end
normalize_key(key) click to toggle source
# File lib/koine/test_runner/configuration.rb, line 65
def normalize_key(key)
  key.tr('-', '_').to_sym
end
require_file_name?() click to toggle source
# File lib/koine/test_runner/configuration.rb, line 47
def require_file_name?
  !last?
end