Sha256: fb0075a2b92657c85b2dc9e0aa6e1707878afefbedd83a9a3d6d2b7b185f0cd5

Contents?: true

Size: 746 Bytes

Versions: 1

Compression:

Stored size: 746 Bytes

Contents

module Exemplor
  class Check

    attr_reader :expectation, :value, :status

    def initialize(name, value)
      @name  = name
      @value = value
      @status = :info
    end

    def [](disambiguate)
      @disambiguate = disambiguate
      self
    end

    def name
      @name + (defined?(@disambiguate) ? " #{@disambiguate}" : '')
    end

    # might be better to use throw here
    class Failure < StandardError; end

    def is(expectation)
      @expectation = expectation
      @status = (value == expectation) ? :success : :failure
      raise Failure if failure?
    end

    def success?
      status == :success
    end

    def failure?
      status == :failure
    end

    def info?
      status == :info
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
exemplor-2010.2.0 lib/checker.rb