pry-byetypo 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dd76efc826578597fe9cecb0ec6357a275d8cb8c37aaa1e238681f0235287027
4
- data.tar.gz: 11eeb72895ab4150815e61f932a7aa8d13dc2ae6d6b3564c81d3ff9624c8ec89
3
+ metadata.gz: da8cec30c93c393374f141f18ce63052a9019f7cdeb07ef812b82a66cb050a34
4
+ data.tar.gz: 7310aa51a6dbfb284b970049317e11036fd2dcc2449f33565e879c8604e4ca5d
5
5
  SHA512:
6
- metadata.gz: 9f55811aaaeeeb06521f50108d8fab819b00c461b2fd635519ad3559baf409ee256e241d5315a39ec2e238aaae6e330f2d84bcd0cfbc1b3b9f04e9b26d8b9d39
7
- data.tar.gz: 954ecd0a20d6fb34df1592cf36f8c2dd5d893d21f0060a7ccba7a4769ead0800917d6ee08aa8c294b8937e8eaa450c77fe7ac3704f4da3e2ea4466257e306552
6
+ metadata.gz: d7c23c25abd958cd72a5298c9b4c1c02a4cae85e2147a7d0051ee4e58392c298a7a5a852fa89ba43fcb260d7843210529cbb7dcee3e82290afd425faec4deabb
7
+ data.tar.gz: cb4b3db82a3f9414eebd451d88c3383044207799e4cedeaaf47b621d62f3f72569b3e1a39e9afc26694ba1e01fab50dd4680f2768d4d4a2831612de60de7733b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pry-byetypo (1.2.0)
4
+ pry-byetypo (1.3.0)
5
5
  colorize (~> 1.1.0)
6
6
  pry (>= 0.13, < 0.15)
7
7
 
@@ -247,6 +247,7 @@ GEM
247
247
 
248
248
  PLATFORMS
249
249
  arm64-darwin-22
250
+ arm64-darwin-23
250
251
  x86_64-linux
251
252
 
252
253
  DEPENDENCIES
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "exceptions_base"
4
+
5
+ module Exceptions
6
+ class NoMethodError < ExceptionsBase
7
+ private
8
+
9
+ def corrected_cmd
10
+ @corrected_cmd ||= last_cmd.gsub(/\b#{unknown_from_exception}\b/, corrected_word)
11
+ end
12
+
13
+ def unknown_from_exception
14
+ exception.to_s.match(exception_regexp)[1]
15
+ end
16
+
17
+ def dictionary
18
+ eval(klass).methods.map(&:to_s) # rubocop:disable Security/Eval
19
+ end
20
+
21
+ def exception_regexp
22
+ /`([^']+)' for/
23
+ end
24
+
25
+ def klass
26
+ exception.to_s.match(/for\s+(.*?):\w*$/)[1]
27
+ end
28
+ end
29
+ end
@@ -4,6 +4,7 @@ require_relative "base"
4
4
  require_relative "exceptions/active_record/statement_invalid"
5
5
  require_relative "exceptions/active_record/configuration_error"
6
6
  require_relative "exceptions/name_error/handler"
7
+ require_relative "exceptions/no_method_error"
7
8
  require_relative "constants/errors"
8
9
 
9
10
  class ExceptionsHandler < Base
@@ -17,6 +18,8 @@ class ExceptionsHandler < Base
17
18
 
18
19
  def call
19
20
  case exception
21
+ in NoMethodError
22
+ Exceptions::NoMethodError.call(output, exception, pry)
20
23
  in NameError
21
24
  # NameError is a Superclass for all undefined statement.
22
25
  Exceptions::NameError::Handler.call(output, exception, pry)
@@ -2,6 +2,6 @@
2
2
 
3
3
  class Pry
4
4
  module Byetypo
5
- VERSION = "1.2.0"
5
+ VERSION = "1.3.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pry-byetypo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clément Morisset
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-21 00:00:00.000000000 Z
11
+ date: 2024-02-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -85,6 +85,7 @@ files:
85
85
  - lib/pry-byetypo/exceptions/exceptions_base.rb
86
86
  - lib/pry-byetypo/exceptions/name_error/handler.rb
87
87
  - lib/pry-byetypo/exceptions/name_error/undefined_variable.rb
88
+ - lib/pry-byetypo/exceptions/no_method_error.rb
88
89
  - lib/pry-byetypo/exceptions_handler.rb
89
90
  - lib/pry-byetypo/session/clear_history.rb
90
91
  - lib/pry-byetypo/session/populate_history.rb