Class: CaseManager
- Inherits:
-
Object
- Object
- CaseManager
- Includes:
- Singleton, Utils
- Defined in:
- lib/teuton/case_manager/show.rb,
lib/teuton/case_manager/report.rb,
lib/teuton/case_manager/check_cases.rb,
lib/teuton/case_manager/case_manager.rb,
lib/teuton/case_manager/hall_of_fame.rb
Overview
This class does all the job Organize the hole job, sending orders to others classes
-
initialize
-
play
Split into several files:
-
case_manager/check_cases
-
case_manager/export
-
case_manager/hall_of_fame
-
case_manager/report
-
case_manager/show
Instance Method Summary collapse
-
#export(args = {}) ⇒ Object
Execute “export” order: Export every case report.
-
#initialize ⇒ CaseManager
constructor
Initialize CaseManager.
-
#play(&block) ⇒ Object
Execute “play” order: Start every single case test.
-
#send(args = {}) ⇒ Object
Execute “send” order: Send every case report.
-
#show(mode = :resume) ⇒ Object
Show cases and resume report data on screep.
Methods included from Utils
#encode_and_split, #ensure_dir, #my_execute, #verbose, #verboseln
Constructor Details
#initialize ⇒ CaseManager
Initialize CaseManager
28 29 30 31 32 |
# File 'lib/teuton/case_manager/case_manager.rb', line 28 def initialize @cases = [] @report = Report.new(0) @report.filename = 'resume' end |
Instance Method Details
#export(args = {}) ⇒ Object
Execute “export” order: Export every case report
51 52 53 54 55 56 57 58 59 60 |
# File 'lib/teuton/case_manager/case_manager.rb', line 51 def export(args = {}) if args.class != Hash puts "[ERROR] CaseManager#export: Argument = <#{args}>, " \ "class = #{args.class}" puts ' Usage: export :format => :colored_text' raise '[ERROR] CaseManager#export: Argument error!' end # Export report files ExportManager.run(@report, @cases, args) end |
#play(&block) ⇒ Object
Execute “play” order: Start every single case test
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/teuton/case_manager/case_manager.rb', line 37 def play(&block) check_cases! instance_eval(&block) # Run export if user pass option command "--export=json" i = Application.instance.['export'] export(format: i.to_sym) unless i.nil? # Accept "configfile" param REVISE There exists? i = Application.instance.['configfile'] export(format: i.to_sym) unless i.nil? end |
#send(args = {}) ⇒ Object
Execute “send” order: Send every case report
65 66 67 68 69 70 71 |
# File 'lib/teuton/case_manager/case_manager.rb', line 65 def send(args = {}) threads = [] puts '' puts "[INFO] Sending files...#{args.to_s}" @cases.each { |c| threads << Thread.new { c.send(args) } } threads.each(&:join) end |
#show(mode = :resume) ⇒ Object
Show cases and resume report data on screep
10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/teuton/case_manager/show.rb', line 10 def show(mode = :resume) return if Application.instance.quiet? # Show resume report data on screen @report.show if %i[resume all].include? mode # Show cases report data on screen return if mode == :resume @cases.each do |c| puts '=' * 40 c.show end end |