Class: CaseManager
- Inherits:
-
Object
- Object
- CaseManager
- Includes:
- Singleton, Utils
- Defined in:
- lib/teuton/case_manager/case_manager.rb,
lib/teuton/case_manager/report.rb,
lib/teuton/case_manager/check_cases.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
Defined Under Namespace
Classes: HallOfFame
Instance Attribute Summary collapse
-
#cases ⇒ Object
readonly
Returns the value of attribute cases.
-
#report ⇒ Object
readonly
Returns the value of attribute report.
Instance Method Summary collapse
-
#export(args = {}) ⇒ Object
Execute “export” order: Export every case report.
-
#initialize ⇒ CaseManager
constructor
A new instance of CaseManager.
-
#play(&block) ⇒ Object
Execute “play” order: Start every single case test.
-
#send(args = {}) ⇒ Object
Execute “send” order: Send every case report.
- #show(options = {verbose: 1}) ⇒ Object
Methods included from Utils
#encode_and_split, #ensure_dir, #my_execute, #verbose, #verboseln
Constructor Details
#initialize ⇒ CaseManager
Returns a new instance of CaseManager.
25 26 27 28 29 |
# File 'lib/teuton/case_manager/case_manager.rb', line 25 def initialize @cases = [] @report = Report.new(0) @report.filename = "resume" end |
Instance Attribute Details
#cases ⇒ Object (readonly)
Returns the value of attribute cases.
23 24 25 |
# File 'lib/teuton/case_manager/case_manager.rb', line 23 def cases @cases end |
#report ⇒ Object (readonly)
Returns the value of attribute report.
23 24 25 |
# File 'lib/teuton/case_manager/case_manager.rb', line 23 def report @report end |
Instance Method Details
#export(args = {}) ⇒ Object
Execute “export” order: Export every case report
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/teuton/case_manager/case_manager.rb', line 48 def export(args = {}) if args.class != Hash puts Rainbow("[ERROR] Argument error with 'export'!").red puts Rainbow(" Code : CaseManager#export").red puts Rainbow(" Line : export #{args}").red puts Rainbow(" Use : export format: 'txt'").red puts "" exit 1 end ExportManager.run(@report, @cases, args) end |
#play(&block) ⇒ Object
Execute “play” order: Start every single case test
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/teuton/case_manager/case_manager.rb', line 34 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
63 64 65 66 67 68 69 70 71 72 |
# File 'lib/teuton/case_manager/case_manager.rb', line 63 def send(args = {}) threads = [] puts "" puts Rainbow("-" * 50).green puts Rainbow("Sending files...#{args}").color(:green) @cases.each { |c| threads << Thread.new { c.send(args) } } threads.each(&:join) puts Rainbow("Sending finished!").color(:green) puts Rainbow("-" * 50).green end |
#show(options = {verbose: 1}) ⇒ Object
74 75 76 77 |
# File 'lib/teuton/case_manager/case_manager.rb', line 74 def show( = {verbose: 1}) verbose = [:verbose] ShowReport.new(@report).call(verbose) end |