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
15
16
17
# 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[:errors] = {}

  if key.present? && message.present?
    data[:errors][key] = message
  else
    data[:errors][err_code] = message.nil? ? Rack::Utils::HTTP_STATUS_CODES[err_code] : message
  end

  data
end

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



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/error_responder/extenders/serialize.rb', line 19

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