Sha256: 2a6e0c1bb6ccd600c37dec361544fea722c73e7569ed521b355ec97d44aea691
Contents?: true
Size: 973 Bytes
Versions: 2
Compression:
Stored size: 973 Bytes
Contents
# frozen_string_literal: true require "logger" require "colorize" require_relative "../base" require_relative "../setup/store" class ExceptionsBase < Base include Setup::Store def call if corrected_word logger.error(exception.to_s.colorize(color: :light_red, mode: :bold)) logger.info("Running: #{corrected_cmd}".colorize(color: :green, mode: :bold)) pry.eval(corrected_cmd) else Pry::ExceptionHandler.handle_exception(output, exception, pry) end end private attr_reader :exception, :output, :pry def initialize(output, exception, pry) @output = output @exception = exception @pry = pry end def corrected_word @corrected_word ||= spell_checker.correct(unknown_from_exception).first end def spell_checker DidYouMean::SpellChecker.new(dictionary: dictionary) end def logger @logger = Logger.new($stdout) end def last_cmd @last_cmd ||= Pry.line_buffer.last.strip end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pry-byetypo-1.3.0 | lib/pry-byetypo/exceptions/exceptions_base.rb |
pry-byetypo-1.2.0 | lib/pry-byetypo/exceptions/exceptions_base.rb |