Sha256: c9933fbc0dd571f25d53c56d0e44f2bdcd454c371f4e733ddc103633a4aaad66

Contents?: true

Size: 702 Bytes

Versions: 12

Compression:

Stored size: 702 Bytes

Contents

##############################################################################
#                            Singleton Plugin
##############################################################################

RSpec.configure do |config|
  config.around(:each, singletons: ->(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

12 entries across 12 versions & 1 rubygems

Version Path
rspectacular-0.70.5 lib/rspectacular/plugins/singleton.rb
rspectacular-0.70.4 lib/rspectacular/plugins/singleton.rb
rspectacular-0.70.3 lib/rspectacular/plugins/singleton.rb
rspectacular-0.70.2 lib/rspectacular/plugins/singleton.rb
rspectacular-0.70.1 lib/rspectacular/plugins/singleton.rb
rspectacular-0.70.0 lib/rspectacular/plugins/singleton.rb
rspectacular-0.69.0 lib/rspectacular/plugins/singleton.rb
rspectacular-0.68.0 lib/rspectacular/plugins/singleton.rb
rspectacular-0.67.0 lib/rspectacular/plugins/singleton.rb
rspectacular-0.66.0 lib/rspectacular/plugins/singleton.rb
rspectacular-0.65.0 lib/rspectacular/plugins/singleton.rb
rspectacular-0.64.0 lib/rspectacular/plugins/singleton.rb