Sha256: 76b411ed36049075f32d06246329a5026b45b5a2e23c3e114ec20a7483e9277d

Contents?: true

Size: 576 Bytes

Versions: 16

Compression:

Stored size: 576 Bytes

Contents

require "forwardable"
require "solid_assert/null_assert"
require "solid_assert/assert"

module SolidAssert
  extend Forwardable

  def_delegators "SolidAssert.assert_instance", :assert, :invariant

  class << self
    def assert_instance
      if @assertions_enabled
        Assert.instance
      else
        NullAssert.instance
      end
    end

    def enable_assertions
      @assertions_enabled = true
    end

    def disable_assertions
      @assertions_enabled = false
    end
  end
end

SolidAssert.disable_assertions

Object.class_eval do
  include SolidAssert
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
mux_ruby-4.0.0 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
mux_ruby-3.20.0 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
mux_ruby-3.19.0 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
mux_ruby-3.18.0 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
mux_ruby-3.17.0 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
mux_ruby-3.15.0 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
mux_ruby-3.14.0 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
mux_ruby-3.13.0 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
mux_ruby-3.12.0 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
mux_ruby-3.11.1 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
mux_ruby-3.11.0 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
mux_ruby-3.9.0 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
mux_ruby-3.8.0 vendor/bundle/ruby/3.2.0/gems/solid_assert-1.1.0/lib/solid_assert.rb
solid_assert-1.1.0 lib/solid_assert.rb
solid_assert-1.0.0 lib/solid_assert.rb
solid_assert-0.8.0 lib/solid_assert.rb