Class: Testgenai::BatchPipeline
- Inherits:
-
Object
- Object
- Testgenai::BatchPipeline
- Defined in:
- lib/testgenai/batch_pipeline.rb
Instance Method Summary collapse
-
#initialize(config, context_builder, pipeline, reporter, conventions: nil) ⇒ BatchPipeline
constructor
A new instance of BatchPipeline.
- #run(untested_methods) ⇒ Object
Constructor Details
#initialize(config, context_builder, pipeline, reporter, conventions: nil) ⇒ BatchPipeline
Returns a new instance of BatchPipeline.
3 4 5 6 7 8 9 |
# File 'lib/testgenai/batch_pipeline.rb', line 3 def initialize(config, context_builder, pipeline, reporter, conventions: nil) @config = config @context_builder = context_builder @pipeline = pipeline @reporter = reporter @conventions = conventions end |
Instance Method Details
#run(untested_methods) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/testgenai/batch_pipeline.rb', line 11 def run(untested_methods) results = {successful: [], failed: [], skipped: []} untested_methods.each_with_index do |method_info, i| sleep @config.pause if i > 0 context = @context_builder.build(method_info) context = context.merge(conventions: @conventions) if @conventions result = @pipeline.run(method_info, context) if result[:success] results[:successful] << result @reporter.success(method_info, result) else results[:failed] << result @reporter.failure(method_info, result) end rescue ConfigurationError => e @reporter.fatal_error(e) raise rescue => e results[:skipped] << {method_info: method_info, error: e.} @reporter.skipped(method_info, e) end results end |