class Jackhammer::RakeTask
Attributes
deps[RW]
Task prerequisites.
description[RW]
Description of the test task. (default is 'Validate Jackhammer
configuration')
env[RW]
Specifies the environment to inspect. (default is 'production')
name[RW]
Name of test task. (default is :jackhammer)
path[RW]
File path of the configuration file. (default is ./config/jackhammer.yml)
Public Class Methods
new() { |self| ... }
click to toggle source
Calls superclass method
# File lib/jackhammer/rake_task.rb, line 24 def initialize super @name = :jackhammer @env = 'production' @path = './config/jackhammer.yml' @description = 'Validate Jackhammer configuration' @deps = [] yield self if block_given? if @name.is_a?(Hash) @deps = @name.values.first @name = @name.keys.first end define end
Public Instance Methods
define()
click to toggle source
# File lib/jackhammer/rake_task.rb, line 39 def define desc @description task @name => Array(deps) do validator = ConfigurationValidator.new validator.config_yaml = YAML.safe_load(File.read(@path), [], [], true) validator.environment = env validator.validate print_results validator.errors end end
Private Instance Methods
green(text)
click to toggle source
# File lib/jackhammer/rake_task.rb, line 67 def green(text) "\e[1;32m#{text}\e[0m" end
print_results(errors)
click to toggle source
# File lib/jackhammer/rake_task.rb, line 52 def print_results(errors) puts "Jackhammer configuration #{path}\n" if errors.any? puts red("Problems identified: #{errors.size}\n") errors.each { |error| puts red(error) } exit 1 else puts green('OK') end end
red(text)
click to toggle source
# File lib/jackhammer/rake_task.rb, line 63 def red(text) "\e[1;31m#{text}\e[0m" end