class Erratum::Errors::ResourceNotFound
Attributes
missing_ids[RW]
Public Class Methods
convert(original_error, overrides = {})
click to toggle source
# File lib/erratum/errors/crud/resource_not_found.rb, line 14 def self.convert(original_error, overrides = {}) initialization_parameters = {} case original_error.class.name when 'ActiveRecord::RecordNotFound' initialization_parameters = { missing_ids: case original_error.message when /\ACouldn't find .* without an ID\z/ [] when /\ACouldn't find .* with \'.*\'=([a-f0-9\-]+)/ [Regexp.last_match(1)] when /\ACouldn't find all .* with \'.*\': ((?:[a-f0-9\-]+(?:, )?)+)/ Array(Regexp.last_match(1).split(', ')) end, } end new(initialization_parameters.merge(overrides)) end
Public Instance Methods
action()
click to toggle source
# File lib/erratum/errors/crud/resource_not_found.rb, line 55 def action @action || 'access' end
detail()
click to toggle source
# File lib/erratum/errors/crud/resource_not_found.rb, line 42 def detail <<~HEREDOC.chomp.tr("\n", ' ') The #{resource_name} you attempted to #{action} for this request is either not authorized for the authenticated user or does not exist. HEREDOC end
http_status()
click to toggle source
# File lib/erratum/errors/crud/resource_not_found.rb, line 34 def http_status 404 end
source()
click to toggle source
Calls superclass method
Erratum::Errors::Crud#source
# File lib/erratum/errors/crud/resource_not_found.rb, line 49 def source super.merge( 'missing_ids' => missing_ids, ) end
title()
click to toggle source
# File lib/erratum/errors/crud/resource_not_found.rb, line 38 def title 'Resource Not Found' end