class Gesund::Dsl

Public Class Methods

evaluate(gesundfile) click to toggle source
# File lib/gesund/dsl.rb, line 3
def self.evaluate(gesundfile)
  builder = new
  builder.eval_gesundfile(gesundfile)
end

Public Instance Methods

check(name, options = {}) click to toggle source
# File lib/gesund/dsl.rb, line 20
def check(name, options = {})
  camel_name = name.to_s.split('_').map(&:capitalize).join
  begin
    check_class = Gesund::Checks.const_get(camel_name)
  rescue NameError => e
    e.backtrace.join =~ /Gesundfile:(\d+)/
    print "ERROR Gesundfile:#{$1}: "
    puts "#{e.message}"
    exit 1
  end
  raise Gesund::Errors::CheckNotFound unless check_class
  @checks << check_class.new(options) if check_class
end
eval_gesundfile(gesundfile) click to toggle source
# File lib/gesund/dsl.rb, line 8
def eval_gesundfile(gesundfile)
  @checks = []
  begin
    contents = File.read(gesundfile.to_s)
  rescue => e
    puts "ERROR reading Gesundfile: #{e.message}"
    exit 1
  end
  instance_eval(contents, gesundfile.to_s, 1)
  return @checks
end