Module: ErrorResponder::Extenders::Serialize

Defined in:
lib/error_responder/extenders/serialize.rb

Class Method Summary collapse

Class Method Details

.error(err_code, key = nil, message = nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/error_responder/extenders/serialize.rb', line 5

def error(err_code, key = nil, message = nil)
  data = {}
  data[:status] = err_code.to_s
  data[:info] = Rack::Utils::HTTP_STATUS_CODES[err_code]

  data[:errors] = {}
  data[:errors][key] = message if key.present? && message.present?

  data
end

.serialize(errors, options = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/error_responder/extenders/serialize.rb', line 16

def serialize(errors, options = {})
  return if errors.nil?

  json = {}
  json[:errors] = {}

  errors.to_hash(true).each do |key, message|
    json[:errors][key] = message.join('. ') + '.'
  end

  json[options[:key]] = options[:value] if options.present?

  json
end