Class: Evilution::Integration::RSpec::StateGuard

Inherits:
Object
  • Object
show all
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

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

#snapshotObject



25
26
27
# File 'lib/evilution/integration/rspec/state_guard.rb', line 25

def snapshot
  @strategies.map { |s| [s, s.snapshot] }
end