Module: JsonErrorSerializer::Extenders::Serialize

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

Class Method Summary collapse

Class Method Details

._200(message = nil) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/json_error_serializer/extenders/serialize.rb', line 26

def self._200(message = nil)
  message = message.nil? ? 'OK' : message
  data = JSONBuilder::Compiler.generate do
    status '200'
    message message
  end
  data
end

._400(message = nil) ⇒ Object



35
36
37
38
39
40
41
42
# File 'lib/json_error_serializer/extenders/serialize.rb', line 35

def self._400(message = nil)
  message = message.nil? ? 'Bad request' : message
  data = JSONBuilder::Compiler.generate do
    status '400'
    message message
  end
  data
end

._401(message = nil) ⇒ Object



44
45
46
47
48
49
50
51
# File 'lib/json_error_serializer/extenders/serialize.rb', line 44

def self._401(message = nil)
  message = message.nil? ? 'Access denied' : message
  data = JSONBuilder::Compiler.generate do
    status '401'
    message message
  end
  data
end

._404(message = nil) ⇒ Object



53
54
55
56
57
58
59
60
# File 'lib/json_error_serializer/extenders/serialize.rb', line 53

def self._404(message = nil)
  message = message.nil? ? 'Not found' : message
  data = JSONBuilder::Compiler.generate do
    status '404'
    message message
  end
  data
end

._409(message = nil) ⇒ Object



62
63
64
65
66
67
68
69
# File 'lib/json_error_serializer/extenders/serialize.rb', line 62

def self._409(message = nil)
  message = message.nil? ? 'Conflict' : message
  data = JSONBuilder::Compiler.generate do
    status '409'
    message message
  end
  data
end

._422(message = nil) ⇒ Object



71
72
73
74
75
76
77
78
# File 'lib/json_error_serializer/extenders/serialize.rb', line 71

def self._422(message = nil)
  message = message.nil? ? 'Unprocessable Entity' : message
  data = JSONBuilder::Compiler.generate do
    status '422'
    message message
  end
  data
end

._423(message = nil) ⇒ Object



80
81
82
83
84
85
86
87
# File 'lib/json_error_serializer/extenders/serialize.rb', line 80

def self._423(message = nil)
  message = message.nil? ? 'Locked' : message
  data = JSONBuilder::Compiler.generate do
    status '423'
    message message
  end
  data
end

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



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/json_error_serializer/extenders/serialize.rb', line 6

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

  json = {}
  new_hash = errors.to_hash(true).map do |key, message|
    {
        id: key,
        title: message.join(". ") + "."
    }
  end.flatten

  json[:errors] = new_hash

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

  json
end