Sha256: 0d9ffc3ee0c898f0cf8b64ba23cadb67e3fad6f643aa61e1c5d7729bbdefafbf

Contents?: true

Size: 774 Bytes

Versions: 5

Compression:

Stored size: 774 Bytes

Contents

# frozen_string_literal: true

module MTLibuv
    module Assertions
        MSG_NO_PROC = 'no block given'

        def assert_block(proc, msg = MSG_NO_PROC)
            raise ArgumentError, msg, caller unless proc.respond_to? :call
        end

        def assert_type(type, actual, msg = nil)
            if not actual.kind_of?(type)
                msg ||= "value #{actual.inspect} is not a valid #{type}"
                raise ArgumentError, msg, caller
            end
        end

        def assert_boolean(actual, msg = nil)
            if not (actual.kind_of?(TrueClass) || actual.kind_of?(FalseClass))
                msg ||= "value #{actual.inspect} is not a valid Boolean"
                raise ArgumentError, msg, caller
            end
        end
    end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mt-libuv-4.1.04 lib/mt-libuv/mixins/assertions.rb
mt-libuv-4.1.03 lib/mt-libuv/mixins/assertions.rb
mt-libuv-4.1.02 lib/mt-libuv/mixins/assertions.rb
mt-libuv-4.1.01 lib/mt-libuv/mixins/assertions.rb
mt-libuv-4.1.0 lib/mt-libuv/mixins/assertions.rb