class SimpleJsonapi::Node::ErrorSource
@!attribute [r] error
@return [Object]
@!attribute [r] source_definition
@return [Definition::ErrorSource]
Attributes
error[R]
source_definition[R]
Public Class Methods
new(error:, source_definition:, **options)
click to toggle source
@param error [Object] @param source_definition
[Definition::ErrorSource] @param options see {Node::Base#initialize} for additional parameters
Calls superclass method
SimpleJsonapi::Node::Base::new
# File lib/simple_jsonapi/node/error_source.rb, line 12 def initialize(error:, source_definition:, **options) super(options) @error = error @source_definition = source_definition end
Public Instance Methods
as_jsonapi()
click to toggle source
@return [Hash{Symbol => Hash}]
# File lib/simple_jsonapi/node/error_source.rb, line 20 def as_jsonapi source_json = {} member_definitions_to_render.each do |name, defn| source_json[name] = evaluate(defn.value_proc, error).to_s end if source_json.any? { source: source_json } else {} end end
Private Instance Methods
member_definitions_to_render()
click to toggle source
# File lib/simple_jsonapi/node/error_source.rb, line 36 def member_definitions_to_render @member_definitions_to_render ||= source_definition.member_definitions.select { |_, defn| render?(defn, error) } end