class Matrixeval::Config::YAML

Public Class Methods

[](key) click to toggle source
# File lib/matrixeval/config/yaml.rb, line 28
def [](key)
  yaml[key]
end
create_for(target_name) click to toggle source
# File lib/matrixeval/config/yaml.rb, line 12
def create_for(target_name)
  return if File.exist?(path)
  require "matrixeval/#{target_name}" unless target_name.nil?

  FileUtils.cp(
    target(target_name).matrixeval_yml_template_path,
    path
  )
rescue LoadError
  raise MissingTargetGem.new("Missing gem for the target #{target_name}")
end
path() click to toggle source
# File lib/matrixeval/config/yaml.rb, line 24
def path
  Matrixeval.working_dir.join("matrixeval.yml")
end
yaml() click to toggle source
# File lib/matrixeval/config/yaml.rb, line 32
def yaml
  raise MissingError unless File.exist?(path)

  ::YAML.load File.read(path)
end

Private Class Methods

target(target_name) click to toggle source
# File lib/matrixeval/config/yaml.rb, line 40
def target(target_name)
  target_klass(target_name).new
end
target_klass(target_name) click to toggle source
# File lib/matrixeval/config/yaml.rb, line 44
def target_klass(target_name)
  Matrixeval.targets[target_name&.to_sym] || Target
end