Class: JSONAPIonify::Api::ErrorsObject

Inherits:
Object
  • Object
show all
Defined in:
lib/jsonapionify/api/errors_object.rb

Defined Under Namespace

Classes: Evaluator

Instance Method Summary collapse

Instance Method Details

#collectionObject



57
58
59
# File 'lib/jsonapionify/api/errors_object.rb', line 57

def collection
  @collection ||= Structure::Collections::Errors.new
end

#evaluate(*args, error_block:, runtime_block: nil, backtrace: nil) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/jsonapionify/api/errors_object.rb', line 36

def evaluate(*args, error_block:, runtime_block: nil, backtrace: nil)
  backtrace     ||= caller
  runtime_block ||= proc {}
  error         = Structure::Objects::Error.new
  evaluator     = Evaluator.new(error)
  collection << error
  [runtime_block, error_block].each do |block|
    evaluator.instance_exec(*args, &block) if block
  end
  if JSONAPIonify.show_backtrace == true
    error[:meta]             ||= {}
    error[:meta][:backtrace] = backtrace
  end
end

#set(collection) ⇒ Object



61
62
63
# File 'lib/jsonapionify/api/errors_object.rb', line 61

def set(collection)
  @collection = collection
end

#top_levelObject



51
52
53
54
55
# File 'lib/jsonapionify/api/errors_object.rb', line 51

def top_level
  JSONAPIonify.new_object.tap do |obj|
    obj[:errors] = collection
  end
end