module Card::Format::Error
permissions and errors in card format classes
Public Instance Methods
Source
# File lib/card/format/error.rb, line 10 def anyone_can? task return false unless task.is_a? Symbol @anyone_can ||= {} @anyone_can[task] = card.anyone_can? task if @anyone_can[task].nil? @anyone_can[task] end
Source
# File lib/card/format/error.rb, line 47 def error_cardname _exception if card&.name.present? safe_name else ::I18n.t :lib_no_cardname end end
Source
# File lib/card/format/error.rb, line 59 def loud_error e, view e.report if focal? && voo.root? card.errors.add "#{view} view", rendering_error(e, view) if card.errors.empty? raise e end
Source
# File lib/card/format/error.rb, line 55 def loud_error? focal? || Card.config.raise_all_rendering_errors end
Source
# File lib/card/format/error.rb, line 33 def monitor_depth max = Card.config.max_depth if depth >= max || voo.depth >= max raise Card::Error::UserError, t(:format_too_deep) end yield end
Source
# File lib/card/format/error.rb, line 5 def ok? task task = :create if task == :update && card.new_card? card.ok? task end
Source
# File lib/card/format/error.rb, line 65 def quiet_error e, view e.report rendering_error e, view end
Source
# File lib/card/format/error.rb, line 70 def rendering_error exception, view if exception.is_a? Card::Error::UserError exception.message else t :lib_error_rendering, cardname: error_cardname(exception), view: view end end
Source
# File lib/card/format/error.rb, line 42 def rescue_view e, view method = loud_error? ? :loud_error : :quiet_error send method, e, view end
Source
# File lib/card/format/error.rb, line 27 def view_for_denial view, task @denied_task = task root.error_status = 403 if focal? && voo.root? view_setting(:denial, view) || :denial end
Source
# File lib/card/format/error.rb, line 18 def view_for_unknown setting_view if main? && voo.root? root.error_status = 404 :not_found else setting_view || :unknown end end