Class: Kaisoku::Runner
- Inherits:
-
Object
- Object
- Kaisoku::Runner
- Defined in:
- lib/kaisoku/runner.rb
Instance Method Summary collapse
-
#initialize(adapter:, test_map:, collector: CoverageCollector.new, reporter: nil, rails_integration: nil) ⇒ Runner
constructor
A new instance of Runner.
- #run(entities) ⇒ Object
Constructor Details
#initialize(adapter:, test_map:, collector: CoverageCollector.new, reporter: nil, rails_integration: nil) ⇒ Runner
Returns a new instance of Runner.
7 8 9 10 11 12 13 |
# File 'lib/kaisoku/runner.rb', line 7 def initialize(adapter:, test_map:, collector: CoverageCollector.new, reporter: nil, rails_integration: nil) @adapter = adapter @test_map = test_map @collector = collector @reporter = reporter @rails_integration = rails_integration || Rails::Integration.new(configuration: adapter.configuration) end |
Instance Method Details
#run(entities) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/kaisoku/runner.rb', line 15 def run(entities) results = [] @rails_integration.wrap_reloader do @adapter.run(entities, reporter: @reporter) do |event, entity, payload = {}| case event when :entity_started @collector.start_entity when :entity_finished collection = @collector.finish_entity result = EntityResult.new( entity: entity, payload: payload, dependencies: collection.dependencies, collection_skipped: collection.skipped? ) persist_result(result) results << result end end end results.to_h do |result| [result.entity.id, result.payload] end end |