Class: Evilution::Integration::RSpec::StateGuard
- Inherits:
-
Object
- Object
- Evilution::Integration::RSpec::StateGuard
- Defined in:
- lib/evilution/integration/rspec/state_guard/internals.rb,
lib/evilution/integration/rspec/state_guard.rb,
lib/evilution/integration/rspec/state_guard/example_groups_constants.rb,
lib/evilution/integration/rspec/state_guard/object_space_example_groups.rb
Overview
rubocop:disable Lint/EmptyClass
Defined Under Namespace
Modules: Internals Classes: ExampleGroupsConstants, ObjectSpaceExampleGroups, ReporterArrays, WorldExampleGroups, WorldFilteredExamples, WorldSourcesByPath
Constant Summary collapse
- DEFAULT_STRATEGIES =
[ ObjectSpaceExampleGroups.new, WorldExampleGroups.new, WorldSourcesByPath.new, WorldFilteredExamples.new, ReporterArrays.new, ExampleGroupsConstants.new ].freeze
Instance Method Summary collapse
-
#initialize(strategies: DEFAULT_STRATEGIES) ⇒ StateGuard
constructor
A new instance of StateGuard.
- #release(token) ⇒ Object
- #snapshot ⇒ Object
Constructor Details
#initialize(strategies: DEFAULT_STRATEGIES) ⇒ StateGuard
Returns a new instance of StateGuard.
21 22 23 |
# File 'lib/evilution/integration/rspec/state_guard.rb', line 21 def initialize(strategies: DEFAULT_STRATEGIES) @strategies = strategies end |
Instance Method Details
#release(token) ⇒ Object
29 30 31 |
# File 'lib/evilution/integration/rspec/state_guard.rb', line 29 def release(token) token.reverse_each { |strategy, captured| release_one(strategy, captured) } end |
#snapshot ⇒ Object
25 26 27 |
# File 'lib/evilution/integration/rspec/state_guard.rb', line 25 def snapshot @strategies.map { |s| [s, s.snapshot] } end |