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: ConfigurationState, ConfigurationStreams, ExampleGroupsConstants, ObjectSpaceExampleGroups, ReporterArrays, WorldExampleGroups, WorldFilteredExamples, WorldSourcesByPath
Constant Summary collapse
- DEFAULT_STRATEGIES =
[ ObjectSpaceExampleGroups.new, WorldExampleGroups.new, WorldSourcesByPath.new, WorldFilteredExamples.new, ReporterArrays.new, ExampleGroupsConstants.new, ConfigurationState.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.
23 24 25 |
# File 'lib/evilution/integration/rspec/state_guard.rb', line 23 def initialize(strategies: DEFAULT_STRATEGIES) @strategies = strategies end |
Instance Method Details
#release(token) ⇒ Object
31 32 33 |
# File 'lib/evilution/integration/rspec/state_guard.rb', line 31 def release(token) token.reverse_each { |strategy, captured| release_one(strategy, captured) } end |
#snapshot ⇒ Object
27 28 29 |
# File 'lib/evilution/integration/rspec/state_guard.rb', line 27 def snapshot @strategies.map { |s| [s, s.snapshot] } end |