Class: LinkedRails::RDFError

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Model
Defined in:
lib/linked_rails/rdf_error.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status, requested_url, original_error) ⇒ RDFError

Returns a new instance of RDFError.



10
11
12
13
14
# File 'lib/linked_rails/rdf_error.rb', line 10

def initialize(status, requested_url, original_error)
  self.status = status
  self.error = original_error.is_a?(StandardError) ? original_error : original_error.new
  self.iri = ::RDF::URI(requested_url)
end

Instance Attribute Details

#errorObject

Returns the value of attribute error.



7
8
9
# File 'lib/linked_rails/rdf_error.rb', line 7

def error
  @error
end

#iriObject

Returns the value of attribute iri.



7
8
9
# File 'lib/linked_rails/rdf_error.rb', line 7

def iri
  @iri
end

#statusObject

Returns the value of attribute status.



7
8
9
# File 'lib/linked_rails/rdf_error.rb', line 7

def status
  @status
end

Class Method Details

.serializer_classObject



32
33
34
# File 'lib/linked_rails/rdf_error.rb', line 32

def self.serializer_class
  RDFErrorSerializer
end

Instance Method Details

#graphObject

rubocop:disable Metrics/AbcSize



16
17
18
19
20
21
22
# File 'lib/linked_rails/rdf_error.rb', line 16

def graph # rubocop:disable Metrics/AbcSize
  g = ::RDF::Graph.new
  g << [iri, Vocab.schema.name, title] if title
  g << [iri, Vocab.schema.text, message]
  g << [iri, Vocab.rdfv.type, rdf_type]
  g
end

#rdf_typeObject



28
29
30
# File 'lib/linked_rails/rdf_error.rb', line 28

def rdf_type
  @rdf_type ||= Vocab.ontola["errors/#{error.class.name.demodulize}Error"]
end

#titleObject



24
25
26
# File 'lib/linked_rails/rdf_error.rb', line 24

def title
  @title ||= I18n.t('linked_rails.status')[status] || I18n.t('linked_rails.status')[500]
end