Sha256: 00e70e996ae67aa31f92069084137e94bca17b6327f60a210b4672ac7b69499c

Contents?: true

Size: 605 Bytes

Versions: 4

Compression:

Stored size: 605 Bytes

Contents

require 'roar/json/hal'

module HalApi::Errors

  class ApiError < StandardError
    attr_accessor :status

    def initialize(message = nil, status = 500)
      super(message || "API Error")
      self.status = status
    end
  end

  class NotFound < ApiError
    def initialize(message = nil)
      super(message || "Resource Not Found", 404)
    end
  end

  class UnsupportedMediaType < ApiError
    def initialize(type)
      super("Unsupported Media Type '#{type.inspect}'", 415)
    end
  end

  module Representer
    include Roar::JSON::HAL

    property :status
    property :message
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hal_api-rails-0.2.3 lib/hal_api/errors.rb
hal_api-rails-0.2.2 lib/hal_api/errors.rb
hal_api-rails-0.2.1 lib/hal_api/errors.rb
hal_api-rails-0.2.0 lib/hal_api/errors.rb