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