class TestBench::Assert
Attributes
block[R]
mod[R]
subject[R]
Public Class Methods
call(subject, mod=nil, &block)
click to toggle source
# File lib/test_bench/assert.rb, line 13 def self.call subject, mod=nil, &block block ||= identity_block instance = new subject, mod, block instance.call end
identity_block()
click to toggle source
# File lib/test_bench/assert.rb, line 54 def self.identity_block @identity_block ||= -> subject do subject end end
new(subject, mod, block)
click to toggle source
# File lib/test_bench/assert.rb, line 7 def initialize subject, mod, block @subject = subject @mod = mod @block = block end
Public Instance Methods
assertions_module()
click to toggle source
# File lib/test_bench/assert.rb, line 20 def assertions_module return mod if mod if subject_namespace.const_defined? :Assertions subject_namespace.const_get :Assertions end end
call()
click to toggle source
# File lib/test_bench/assert.rb, line 28 def call extend_subject assertions_module if assertions_module result = subject.instance_exec subject, &block interpret_result result end
extend_subject(mod)
click to toggle source
# File lib/test_bench/assert.rb, line 36 def extend_subject mod raise TypeError if subject.frozen? subject.extend mod rescue TypeError end
interpret_result(result)
click to toggle source
# File lib/test_bench/assert.rb, line 42 def interpret_result result if result then true else false end end
subject_namespace()
click to toggle source
# File lib/test_bench/assert.rb, line 46 def subject_namespace if subject.is_a? Module subject else subject.class end end