Class: Evilution::Integration::Base
- Inherits:
-
Object
- Object
- Evilution::Integration::Base
- Defined in:
- lib/evilution/integration/base.rb
Class Method Summary collapse
Instance Method Summary collapse
- #call(mutation) ⇒ Object
-
#initialize(hooks: nil) ⇒ Base
constructor
A new instance of Base.
Constructor Details
#initialize(hooks: nil) ⇒ Base
Returns a new instance of Base.
18 19 20 |
# File 'lib/evilution/integration/base.rb', line 18 def initialize(hooks: nil) @hooks = hooks end |
Class Method Details
.baseline_options ⇒ Object
14 15 16 |
# File 'lib/evilution/integration/base.rb', line 14 def self. raise NotImplementedError, "#{name}.baseline_options must be implemented" end |
.baseline_runner ⇒ Object
10 11 12 |
# File 'lib/evilution/integration/base.rb', line 10 def self.baseline_runner raise NotImplementedError, "#{name}.baseline_runner must be implemented" end |
Instance Method Details
#call(mutation) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/evilution/integration/base.rb', line 22 def call(mutation) @temp_dir = nil ensure_framework_loaded fire_hook(:mutation_insert_pre, mutation: mutation, file_path: mutation.file_path) load_error = apply_mutation(mutation) return load_error if load_error fire_hook(:mutation_insert_post, mutation: mutation, file_path: mutation.file_path) run_tests(mutation) ensure restore_original(mutation) end |