class Apipie::ErrorDescription

Attributes

code[R]
description[R]
metadata[R]

Public Class Methods

from_dsl_data(args) click to toggle source
# File lib/apipie/error_description.rb, line 6
def self.from_dsl_data(args)
  code_or_options, desc, options = args
  Apipie::ErrorDescription.new(code_or_options, desc, options)
end
new(code_or_options, desc = nil, options = {}) click to toggle source
# File lib/apipie/error_description.rb, line 11
def initialize(code_or_options, desc = nil, options = {})
  if code_or_options.is_a? Hash
    code_or_options.symbolize_keys!
    @code = code_or_options[:code]
    @metadata = code_or_options[:meta]
    @description = code_or_options[:desc] || code_or_options[:description]
  else
    @code =
      if code_or_options.is_a? Symbol
        begin
          Rack::Utils.status_code(code_or_options)
        rescue ArgumentError
          nil
        end
      else
        code_or_options
      end

    raise UnknownCode, code_or_options unless @code

    @metadata = options[:meta]
    @description = desc
  end
end

Public Instance Methods

to_json(lang) click to toggle source
# File lib/apipie/error_description.rb, line 36
def to_json(lang)
  {
    :code => code,
    :description => Apipie.app.translate(description, lang),
    :metadata => metadata
  }
end