Sha256: 34d4aa07aec504b8005d2488924e7d3180227b354c92837f85315328ef96415c

Contents?: true

Size: 918 Bytes

Versions: 6

Compression:

Stored size: 918 Bytes

Contents

class Card
  class Format
    module Error
      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

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

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

      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

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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
card-1.96.1 lib/card/format/error.rb
card-1.96.0 lib/card/format/error.rb
card-1.95.3 lib/card/format/error.rb
card-1.95.2 lib/card/format/error.rb
card-1.95.1 lib/card/format/error.rb
card-1.95.0 lib/card/format/error.rb