Class: JsonApiClient::ErrorCollector::Error

Inherits:
Object
  • Object
show all
Defined in:
lib/json_api_client/error_collector.rb

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ Error

Returns a new instance of Error.



6
7
8
# File 'lib/json_api_client/error_collector.rb', line 6

def initialize(attrs = {})
  @attrs = (attrs || {}).with_indifferent_access
end

Instance Method Details

#aboutObject



14
15
16
# File 'lib/json_api_client/error_collector.rb', line 14

def about
  attrs.fetch(:links, {})[:about]
end

#codeObject



22
23
24
# File 'lib/json_api_client/error_collector.rb', line 22

def code
  attrs[:code]
end

#detailObject



30
31
32
# File 'lib/json_api_client/error_collector.rb', line 30

def detail
  attrs[:detail]
end

#idObject



10
11
12
# File 'lib/json_api_client/error_collector.rb', line 10

def id
  attrs[:id]
end

#metaObject



54
55
56
# File 'lib/json_api_client/error_collector.rb', line 54

def meta
  MetaData.new(attrs.fetch(:meta, {}))
end

#sourceObject



50
51
52
# File 'lib/json_api_client/error_collector.rb', line 50

def source
  attrs.fetch(:source, {})
end

#source_parameterObject



34
35
36
37
38
39
40
# File 'lib/json_api_client/error_collector.rb', line 34

def source_parameter
  source.fetch(:parameter) do
    source[:pointer] ?
      source[:pointer].split("/").last :
      nil
  end
end

#source_pointerObject



42
43
44
45
46
47
48
# File 'lib/json_api_client/error_collector.rb', line 42

def source_pointer
  source.fetch(:pointer) do
    source[:parameter] ?
      "/data/attributes/#{source[:parameter]}" :
      nil
  end
end

#statusObject



18
19
20
# File 'lib/json_api_client/error_collector.rb', line 18

def status
  attrs[:status]
end

#titleObject



26
27
28
# File 'lib/json_api_client/error_collector.rb', line 26

def title
  attrs[:title]
end