class Berater::Matchers::Overloaded

Public Instance Methods

description() click to toggle source
# File lib/berater/rspec/matchers.rb, line 32
def description
  if @limiter
    "be overloaded"
  else
    "raise #{Berater::Overloaded}"
  end
end
failure_message() click to toggle source
# File lib/berater/rspec/matchers.rb, line 40
def failure_message
  if @limiter
    "expected to be overloaded"
  else
    "expected #{Berater::Overloaded} to be raised"
  end
end
failure_message_when_negated() click to toggle source
# File lib/berater/rspec/matchers.rb, line 48
def failure_message_when_negated
  if @limiter
    "expected not to be overloaded"
  else
    "did not expect #{Berater::Overloaded} to be raised"
  end
end
matches?(obj) click to toggle source
# File lib/berater/rspec/matchers.rb, line 8
def matches?(obj)
  case obj
  when Proc
    # eg. expect { ... }.to be_overloaded
    res = obj.call

    if res.is_a? Berater::Limiter
      # eg. expect { Berater.new(...) }.to be_overloaded
      @limiter = res
      @limiter.utilization >= 1
    else
      # eg. expect { Berater(...)  }.to be_overloaded
      # eg. expect { limiter.limit }.to be_overloaded
      false
    end
  when Berater::Limiter
    # eg. expect(Berater.new(...)).to be_overloaded
    @limiter = obj
    @limiter.utilization >= 1
  end
rescue Berater::Overloaded
  true
end
supports_block_expectations?() click to toggle source
# File lib/berater/rspec/matchers.rb, line 4
def supports_block_expectations?
  true
end