Sha256: 87f025ab8066b67c8018e5c39124bb1209d6738a7662cbbe690510a2b721a334

Contents?: true

Size: 741 Bytes

Versions: 24

Compression:

Stored size: 741 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

24 entries across 24 versions & 1 rubygems

Version Path
rspeckled-0.0.34 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.33 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.32 lib/rspeckled/plugins/singleton.rb
rspeckled-0.0.31 lib/rspeckled/plugins/singleton.rb