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
red(text) click to toggle source
# File lib/jackhammer/rake_task.rb, line 63
def red(text)
  "\e[1;31m#{text}\e[0m"
end