Sha256: 1489daa07994a5decd40592bb10f29231eb31bb2b9c7a996490ceda6b07599d5

Contents?: true

Size: 725 Bytes

Versions: 6

Compression:

Stored size: 725 Bytes

Contents

module Apipie

  class Error < StandardError
  end

  class ParamError < Error
  end

  # abstract
  class DefinedParamError < ParamError
    attr_accessor :param

    def initialize(param)
      @param = param
    end
  end

  class ParamMissing < DefinedParamError
    def to_s
      "Missing parameter #{@param}"
    end
  end

  class UnknownParam < DefinedParamError
    def to_s
      "Unknown parameter #{@param}"
    end
  end

  class ParamInvalid < DefinedParamError
    attr_accessor :value, :error

    def initialize(param, value, error)
      super param
      @value = value
      @error = error
    end

    def to_s
      "Invalid parameter '#{@param}' value #{@value.inspect}: #{@error}"
    end
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
apipie-rails-0.3.5 lib/apipie/errors.rb
apipie-rails-0.3.4 lib/apipie/errors.rb
apipie-rails-0.3.3 lib/apipie/errors.rb
apipie-rails-0.3.2 lib/apipie/errors.rb
apipie-rails-0.3.1 lib/apipie/errors.rb
apipie-rails-0.3.0 lib/apipie/errors.rb