class Wrapper

Public Class Methods

new(description: nil, &block) click to toggle source
# File lib/nrser/rspex.rb, line 63
def initialize description: nil, &block
  case description
  when Symbol
    @description = description.to_s
    
    if block
      raise ArgumentError,
        "Don't provide block with symbol"
    end
    
    if @description.start_with? '@'
      @block = Proc.new { instance_variable_get description }
    else
      @block = description.to_proc
    end
  else
    @description = description
    @block = block
  end
end

Public Instance Methods

inspect() click to toggle source
# File lib/nrser/rspex.rb, line 100
def inspect
  to_s
end
to_s() click to toggle source
# File lib/nrser/rspex.rb, line 92
def to_s
  if @description
    @description.to_s
  else
    "#<Wrapper ?>"
  end
end
unwrap(context: nil) click to toggle source
# File lib/nrser/rspex.rb, line 84
def unwrap context: nil
  if context
    context.instance_exec &@block
  else
    @block.call
  end
end