Module: Card::Format::Error

Included in:
Card::Format
Defined in:
lib/card/format/error.rb

Instance Method Summary collapse

Instance Method Details

#debug_error(e) ⇒ Object



14
15
16
# File 'lib/card/format/error.rb', line 14

def debug_error e
  raise e if Card[:debugger]&.content == "on"
end

#error_cardnameObject



18
19
20
21
22
23
24
# File 'lib/card/format/error.rb', line 18

def error_cardname
  if card&.name.present?
    safe_name
  else
    I18n.t :no_cardname, scope: [:lib, :card, :format, :error]
  end
end

#focal_error(e, view) ⇒ Object



26
27
28
29
# File 'lib/card/format/error.rb', line 26

def focal_error e, view
  card.errors.add view.to_s, e.message if card.errors.empty?
  render Card::Error.exception_view card, e
end

#nested_error(_exception, view) ⇒ Object



31
32
33
34
# File 'lib/card/format/error.rb', line 31

def nested_error _exception, view
  I18n.t :error_rendering, scope: [:lib, :card, :format, :error],
         cardname: error_cardname, view: view
end

#rescue_view(e, view) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/card/format/error.rb', line 4

def rescue_view e, view
  raise e if Rails.env =~ /^cucumber|test$/
  if focal?
    focal_error e, view
  else
    # TODO: consider rendering dynamic error view here.
    nested_error e, view
  end
end