Sha256: 411c0685f01436a9630ead245160dfbf1a2f6941ca33a75148ddfd7b425d7a0f

Contents?: true

Size: 740 Bytes

Versions: 14

Compression:

Stored size: 740 Bytes

Contents

# frozen_string_literal: true
##############################################################################
#                            Singleton Plugin
##############################################################################

RSpec.configure do |config|
  config.around(:each, :singletons => lambda { |v| !!v }) do |example|
    require 'singleton'

    options             = example.metadata[:singletons]
    options             = options.is_a?(TrueClass) ? described_class : options
    singletons_to_reset = Array(options)

    singletons_to_reset.each do |singleton|
      Singleton.__init__(singleton)
    end

    example.run

    singletons_to_reset.each do |singleton|
      Singleton.__init__(singleton)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
rspeckled-0.0.30 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.29 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.28 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.27 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.26 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.25 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.24 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.23 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.22 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.21 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.20 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.19 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.18 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.17 lib/rspeckled/plugins/singleton.rb