class AE::Check::Proc
The Check::Proc
class encapsulates a labeled procedure for making assertions using the `ok`/`no` methods.
Public Class Methods
new(options={}, &check)
click to toggle source
Setup new check procedure.
# File lib/ae/check.rb, line 14 def initialize(options={}, &check) @name = options[:name] @message = options[:message] || @name @check = check end
Public Instance Methods
call(*args)
click to toggle source
Call check procedure.
# File lib/ae/check.rb, line 34 def call(*args) @check.call(*args) end
message(&block)
click to toggle source
# File lib/ae/check.rb, line 21 def message(&block) if block @message = message end @message end
message=(msg)
click to toggle source
# File lib/ae/check.rb, line 29 def message=(msg) @message = msg end
no!(*args)
click to toggle source
# File lib/ae/check.rb, line 57 def no!(*args) refute(call(*args), to_s(*args)) end
ok!(*args)
click to toggle source
# File lib/ae/check.rb, line 52 def ok!(*args) assert(call(*args), to_s(*args)) end
to_s(*args)
click to toggle source
# File lib/ae/check.rb, line 39 def to_s(*args) case @message when nil @name.to_s when ::Proc @message.call(*args) else # TODO: count %\S and apply `% args.map{|a|a.inspect}[0,count]` @message.to_s end end