Module: Desiru::Assertions

Defined in:
lib/desiru/assertions.rb

Overview

Assertion system for validating module outputs

Defined Under Namespace

Classes: AssertionError, Configuration

Class Method Summary collapse

Class Method Details

.assert(condition, message = nil) ⇒ Object

Assert that a condition is true, raising AssertionError if false

Parameters:

  • condition (Boolean)

    The condition to check

  • message (String) (defaults to: nil)

    Optional error message

Raises:



26
27
28
29
30
31
# File 'lib/desiru/assertions.rb', line 26

def self.assert(condition, message = nil)
  return if condition

  message ||= 'Assertion failed'
  raise AssertionError, message
end

.configurationObject

Get or set the assertion configuration



56
57
58
# File 'lib/desiru/assertions.rb', line 56

def self.configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Configure assertion behavior

Yields:



61
62
63
# File 'lib/desiru/assertions.rb', line 61

def self.configure
  yield(configuration) if block_given?
end

.suggest(condition, message = nil) ⇒ Object

Suggest that a condition should be true, logging a warning if false

Parameters:

  • condition (Boolean)

    The condition to check

  • message (String) (defaults to: nil)

    Optional warning message



36
37
38
39
40
41
# File 'lib/desiru/assertions.rb', line 36

def self.suggest(condition, message = nil)
  return if condition

  message ||= 'Suggestion failed'
  Desiru.logger.warn("[SUGGESTION] #{message}")
end