Sha256: 726b93e2780b773e5005117a2d6f3697ce05d923176130fcc4432bb61250be73

Contents?: true

Size: 1.02 KB

Versions: 8

Compression:

Stored size: 1.02 KB

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

# encoding=utf-8

module Exceptions
  def self.error_handler(name = '', opts = {}, format_string: "\nError: %{name} -- %{message}", color_symbol: :red, take_count: 16)
    warn(error = format(format_string,
                        { name: name, message: $! }).send(color_symbol))
    warn($@.select do |s|
           s.include? 'markdown_exec'
         end.reject { |s| s.include? 'vendor' }.take(take_count).map.with_index { |line, ind| " *   #{ind}: #{line}" })

    binding.pry if $tap_enable
    raise ArgumentError, error unless opts.fetch(:abort, true)

    exit 1
  end

  def self.warn_format(message = '', opts = {})
    warn(
      error = format(
        opts.fetch(:format_string, "\nError: %{error}"),
        { error: message }
      ).send(opts.fetch(:color_symbol, :yellow))
    )
    # warn(caller.take(4).map.with_index { |line, ind| " *   #{ind}: #{line}" })

    binding.pry if $tap_enable
    raise ArgumentError, error unless opts.fetch(:abort, false)

    exit 1
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
markdown_exec-1.8.7 lib/exceptions.rb
markdown_exec-1.8.6 lib/exceptions.rb
markdown_exec-1.8.5 lib/exceptions.rb
markdown_exec-1.8.4 lib/exceptions.rb
markdown_exec-1.8.2 lib/exceptions.rb
markdown_exec-1.8.1 lib/exceptions.rb
markdown_exec-1.8 lib/exceptions.rb
markdown_exec-1.7 lib/exceptions.rb