Sha256: 1a424fbcb8d4416295c4765855c3870dc4681ab6ac319b4c57ad9cefed3bc7ac
Contents?: true
Size: 1.88 KB
Versions: 3
Compression:
Stored size: 1.88 KB
Contents
# frozen_string_literal: true require 'singleton' require_relative '../application' require_relative '../report/report' require_relative '../project/configfile_reader' require_relative 'case/case' require_relative 'export_manager' require_relative 'main' require_relative 'utils' # 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 class CaseManager include Singleton include Utils ## # Initialize CaseManager def initialize @cases = [] @report = Report.new(0) @report.filename = 'resume' end ## # Execute "play" order: Start every single case test # @param block (Block) def play(&block) check_cases! instance_eval(&block) # Run export if user pass option command "--export=json" i = Application.instance.options['export'] export(format: i.to_sym) unless i.nil? # Accept "configfile" param REVISE There exists? i = Application.instance.options['configfile'] export(format: i.to_sym) unless i.nil? end ## # Execute "export" order: Export every case report # @param args (Hash) Export options 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 ## # Execute "send" order: Send every case report # @param args (Hash) Send options 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 end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
teuton-2.1.11 | lib/teuton/case_manager/case_manager.rb |
teuton-2.1.10 | lib/teuton/case_manager/case_manager.rb |
teuton-2.1.9 | lib/teuton/case_manager/case_manager.rb |