Class: RakeCheck::Executor

Inherits:
Object
  • Object
show all
Includes:
Term::ANSIColor
Defined in:
lib/rake_check/executor.rb

Overview

Excutor

Instance Method Summary collapse

Constructor Details

#initialize(silent = !Rake.verbose)) ⇒ Executor

Returns a new instance of Executor.



10
11
12
13
# File 'lib/rake_check/executor.rb', line 10

def initialize(silent = !Rake.verbose)
  @silent = silent
  @checks = []
end

Instance Method Details

#add_checker(checker) ⇒ Object



15
16
17
# File 'lib/rake_check/executor.rb', line 15

def add_checker(checker)
  @checks << checker
end

#executeObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/rake_check/executor.rb', line 36

def execute
  check_result = RakeCheck::Result.new

  @checks.each_with_index do |checker, index|
    print "[#{index + 1}/#{size}] Testing #{checker.type} "
    check_result.run checker
    puts checker.status
  end
  if check_result.failed?
    check_result.each do |checker|
      print_result(checker) unless checker.success?
    end
    exit 1
  end
end


19
20
21
# File 'lib/rake_check/executor.rb', line 19

def print(*args)
  STDOUT.print *args unless @silent
end


31
32
33
34
# File 'lib/rake_check/executor.rb', line 31

def print_result(checker)
      puts white(on_blue(bold(["=" * 50, "OUTPUT FOR: ", checker.type, "=" * 50].join(""))))
      puts checker.check_output
end

#puts(*args) ⇒ Object



23
24
25
# File 'lib/rake_check/executor.rb', line 23

def puts(*args)
  STDOUT.puts *args unless @silent
end

#sizeObject



27
28
29
# File 'lib/rake_check/executor.rb', line 27

def size
  @checks.size
end