debugging 1.1.2 → 2.1.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: e4ec121a21a63ab0420e7c1aaa05cb7f12fd6269090a7ab8d177fbdb630ca7a0
4
- data.tar.gz: 8f120206703e54307826c9d293f6f14379f9b4e2f7673a05ddf93d113a940e6f
3
+ metadata.gz: afb045a3e3347c58b06cdea68c4d484654d8f2da4f85e0454198544ef62bf67c
4
+ data.tar.gz: 30fc47cbcc4bbb8163549035e9c0d78cc5f2dd9205befc45fafcf395b26f19bb
5
5
  SHA512:
6
- metadata.gz: b3840c3a53afdf18f074086ee5fa628887f0176284edb371c752600140f78617b611dddc05d76a6a9b17e4eaadb819d039c1f4aa90401009babbd0de1a9a6e5f
7
- data.tar.gz: b2b295c4a739ac963d881fffdcbdda265c59025b45389a5a96faa59f1ae894a9599b9746016b2f72960c2101e1579cd12a5d7c6ad0fae7e7312482da79b5f527
6
+ metadata.gz: fc5110354a3622932dcd671a5b6ba9953dee9f03d1ab13f97ac268b1ad72b7345260dafcebf7fe5d8862392213d2a1d4004eb2f870c2679f92eef67a1059d2d6
7
+ data.tar.gz: d5fab61e1aea27ed784fec2ca4d6047e0217bfbd5d8ffd30ebd1b219ed68318180088b3777fcbd7c43a7d383848e2a9ccebe96263b08ed0cf7e7e2e077060697
data/ChangeLog.md CHANGED
@@ -1,5 +1,14 @@
1
1
  ## ChangeLog
2
2
 
3
+ ### 2.1.0 / 2022-12-25
4
+
5
+ * Remove `debugging/mof`; use looksee, object shadow, or IRB's own ls for reliable lookup path inspection
6
+ * Fix that `debugging/all` also loads howtocall
7
+
8
+ ### 2.0.0 / 2021-12-30
9
+
10
+ * Remove `debugging/repl`, since Ruby now has `binding.irb`
11
+
3
12
  ### 1.1.2 / 2020-12-29
4
13
 
5
14
  * Relax required Ruby version
data/Gemfile CHANGED
@@ -2,6 +2,10 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- group :full_support do
6
- gem 'binding_of_caller'
7
- end
5
+ ### ### ###
6
+
7
+ # 3.2 workaround for RSpec 2.99, see https://bugs.ruby-lang.org/issues/17391
8
+ def File.exists?(f)exist?(f)end unless defined? File.exists?
9
+
10
+ ### ### ###
11
+
data/Gemfile.lock CHANGED
@@ -2,22 +2,14 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  debugging (1.1.2)
5
- binding.repl (~> 3.0)
6
5
  paint (>= 0.9, < 3.0)
7
6
 
8
7
  GEM
9
8
  remote: https://rubygems.org/
10
9
  specs:
11
- binding.repl (3.0.0)
12
- binding_of_caller (0.7.2)
13
- debug_inspector (>= 0.0.1)
14
- debug_inspector (0.0.2)
15
- diff-lcs (1.3)
16
- json (1.8.6)
17
- paint (2.0.0)
18
- rake (10.5.0)
19
- rdoc (3.12.2)
20
- json (~> 1.4)
10
+ diff-lcs (1.4.4)
11
+ paint (2.2.1)
12
+ rake (13.0.6)
21
13
  rspec (2.99.0)
22
14
  rspec-core (~> 2.99.0)
23
15
  rspec-expectations (~> 2.99.0)
@@ -31,11 +23,9 @@ PLATFORMS
31
23
  ruby
32
24
 
33
25
  DEPENDENCIES
34
- binding_of_caller
35
26
  debugging!
36
- rake (~> 10.1)
37
- rdoc (~> 3.0)
38
- rspec (~> 2.4)
27
+ rake (~> 13.0)
28
+ rspec (~> 2.99)
39
29
 
40
30
  BUNDLED WITH
41
- 2.2.3
31
+ 2.2.22
data/MIT-LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010-2020 Jan Lelis
1
+ Copyright (c) 2010-2022 Jan Lelis
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -8,7 +8,7 @@ Helps you to introspect and debug your code.
8
8
  Install gem:
9
9
 
10
10
  ```
11
- $ gem install debugging binding_of_caller
11
+ $ gem install debugging
12
12
  ```
13
13
 
14
14
 
@@ -28,7 +28,6 @@ In a bundler project, you will need to add the gem to your project's `Gemfile`:
28
28
 
29
29
  ```ruby
30
30
  gem 'debugging', require: 'debugging/all'
31
- gem 'binding_of_caller'
32
31
  ```
33
32
 
34
33
  ## Methods
@@ -96,57 +95,6 @@ a = ->(filter: /\A.*\z/, string:){ string[filter] }
96
95
  howtocall a #=> call(string:, filter:)
97
96
  ```
98
97
 
99
-
100
- ### mof(obj, depth = nil)
101
-
102
- "Methods of": Prints out available methods, ordered by modules:
103
-
104
- ```ruby
105
- mof [1,2,3]
106
- ```
107
-
108
- ```
109
- ###
110
- Eigenclass
111
-
112
- Array
113
- inspect to_s to_a to_h to_ary frozen? == eql? hash [] []= at fet
114
- ch first last concat << push pop shift unshift insert each each_i
115
- ndex reverse_each length size empty? find_index index rindex join r
116
- everse reverse! rotate rotate! sort sort! sort_by! collect collect!
117
- map map! select select! keep_if values_at delete delete_at delete_i
118
- f reject reject! zip transpose replace clear fill include? <=> sli
119
- ce slice! assoc rassoc + * - & | uniq uniq! compact compact! fl
120
- atten flatten! count shuffle! shuffle sample cycle permutation combi
121
- nation repeated_permutation repeated_combination product take take_whil
122
- e drop drop_while bsearch pack
123
-
124
- Enumerable
125
- to_a entries to_h sort sort_by grep count find detect find_index f
126
- ind_all select reject collect map flat_map collect_concat inject red
127
- uce partition group_by first all? any? one? none? min max minmax
128
- min_by max_by minmax_by member? include? each_with_index reverse_each
129
- each_entry each_slice each_cons each_with_object zip take take_while
130
- drop drop_while cycle chunk slice_before lazy
131
-
132
- Object
133
-
134
- Debugging
135
-
136
- Kernel
137
- nil? === =~ !~ eql? hash <=> class singleton_class clone dup tain
138
- t tainted? untaint untrust untrusted? trust freeze frozen? to_s ins
139
- pect methods singleton_methods protected_methods private_methods public
140
- _methods instance_variables instance_variable_get instance_variable_set
141
- instance_variable_defined? remove_instance_variable instance_of? kind_of?
142
- is_a? tap send public_send respond_to? extend display method publi
143
- c_method singleton_method define_singleton_method object_id to_enum enu
144
- m_for
145
-
146
- BasicObject
147
- == equal? ! != instance_eval instance_exec __send__ __id__
148
- ```
149
-
150
98
  ### q(*args)
151
99
 
152
100
  Like `Kernel#p`, but with colors on one line:
@@ -163,11 +111,7 @@ Assists you when matching regexes againts strings. Try this one:
163
111
  re "mail@janlelis.de", /\b([A-Z0-9._%+-]+)@([A-Z0-9.-]+\.[A-Z]{2,10})\b/i, 0..2
164
112
  ```
165
113
 
166
- ### repl
167
-
168
- Starts your favorite IRB session from the current binding.
169
-
170
114
  ## J-_-L
171
115
 
172
- Copyright (c) 2010-2020 Jan Lelis. MIT License. Originated from the
116
+ Copyright (c) 2010-2022 Jan Lelis. MIT License. Originated from the
173
117
  [zucker](https://github.com/janlelis/sugar_refinery) gem.
data/Rakefile CHANGED
@@ -33,8 +33,10 @@ end
33
33
  # # #
34
34
  # Spec
35
35
 
36
- require 'rspec/core/rake_task'
37
- RSpec::Core::RakeTask.new
36
+ desc "#{gemspec.name} | Spec"
37
+ task :spec do
38
+ sh "rspec"
39
+ end
38
40
 
39
41
  task :test => :spec
40
42
  task :default => :spec
data/debugging.gemspec CHANGED
@@ -16,13 +16,12 @@ Gem::Specification.new do |gem|
16
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ['lib']
19
+ gem.metadata = { "rubygems_mfa_required" => "true" }
19
20
 
20
21
  gem.required_ruby_version = '>= 2.0', '< 4.0'
21
22
 
22
23
  gem.add_dependency 'paint', '>= 0.9', '< 3.0'
23
- gem.add_dependency 'binding.repl', '~> 3.0'
24
24
 
25
- gem.add_development_dependency 'rake', '~> 10.1'
26
- gem.add_development_dependency 'rdoc', '~> 3.0'
27
- gem.add_development_dependency 'rspec', '~> 2.4'
25
+ gem.add_development_dependency 'rake', '~> 13.0'
26
+ gem.add_development_dependency 'rspec', '~> 2.99'
28
27
  end
data/lib/debugging/all.rb CHANGED
@@ -2,8 +2,7 @@
2
2
  at
3
3
  beep
4
4
  callstack
5
- mof
5
+ howtocall
6
6
  q
7
7
  re
8
- repl
9
- ].each{ |m| require_relative(m) }
8
+ ].each{ |m| require_relative(m) }
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Debugging
2
- VERSION = "1.1.2".freeze
4
+ VERSION = "2.1.0"
3
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: debugging
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Lelis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-29 00:00:00.000000000 Z
11
+ date: 2022-12-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: paint
@@ -30,62 +30,34 @@ dependencies:
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '3.0'
33
- - !ruby/object:Gem::Dependency
34
- name: binding.repl
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '3.0'
40
- type: :runtime
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '3.0'
47
33
  - !ruby/object:Gem::Dependency
48
34
  name: rake
49
35
  requirement: !ruby/object:Gem::Requirement
50
36
  requirements:
51
37
  - - "~>"
52
38
  - !ruby/object:Gem::Version
53
- version: '10.1'
39
+ version: '13.0'
54
40
  type: :development
55
41
  prerelease: false
56
42
  version_requirements: !ruby/object:Gem::Requirement
57
43
  requirements:
58
44
  - - "~>"
59
45
  - !ruby/object:Gem::Version
60
- version: '10.1'
61
- - !ruby/object:Gem::Dependency
62
- name: rdoc
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '3.0'
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '3.0'
46
+ version: '13.0'
75
47
  - !ruby/object:Gem::Dependency
76
48
  name: rspec
77
49
  requirement: !ruby/object:Gem::Requirement
78
50
  requirements:
79
51
  - - "~>"
80
52
  - !ruby/object:Gem::Version
81
- version: '2.4'
53
+ version: '2.99'
82
54
  type: :development
83
55
  prerelease: false
84
56
  version_requirements: !ruby/object:Gem::Requirement
85
57
  requirements:
86
58
  - - "~>"
87
59
  - !ruby/object:Gem::Version
88
- version: '2.4'
60
+ version: '2.99'
89
61
  description: Utilities for better "print debugging"
90
62
  email:
91
63
  - hi@ruby.consulting
@@ -110,10 +82,8 @@ files:
110
82
  - lib/debugging/beep.rb
111
83
  - lib/debugging/callstack.rb
112
84
  - lib/debugging/howtocall.rb
113
- - lib/debugging/mof.rb
114
85
  - lib/debugging/q.rb
115
86
  - lib/debugging/re.rb
116
- - lib/debugging/repl.rb
117
87
  - lib/debugging/version.rb
118
88
  - spec/howtocall_spec.rb
119
89
  - spec/q_spec.rb
@@ -122,7 +92,8 @@ files:
122
92
  homepage: https://github.com/janlelis/debugging
123
93
  licenses:
124
94
  - MIT
125
- metadata: {}
95
+ metadata:
96
+ rubygems_mfa_required: 'true'
126
97
  post_install_message:
127
98
  rdoc_options: []
128
99
  require_paths:
@@ -141,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
112
  - !ruby/object:Gem::Version
142
113
  version: '0'
143
114
  requirements: []
144
- rubygems_version: 3.2.3
115
+ rubygems_version: 3.4.1
145
116
  signing_key:
146
117
  specification_version: 4
147
118
  summary: Print debugging helpers
data/lib/debugging/mof.rb DELETED
@@ -1,36 +0,0 @@
1
- require 'debugging'
2
-
3
- module Debugging
4
- private
5
-
6
- def mof(obj, depth = nil, grep = //)
7
- grep = Regexp.new(grep)
8
- puts Paint["###", :red, :bold]
9
-
10
- if obj.is_a? Module
11
- klass, method_function = obj, :singleton_methods
12
- depth += 1 if depth
13
- else
14
- klass, method_function = obj.class, :public_instance_methods
15
-
16
- eigen_methods = obj.singleton_methods.grep(grep)
17
- if eigen_methods.empty?
18
- puts Paint['Eigenclass', :yellow]
19
- else
20
- puts Paint['Eigenclass', :green, :underline], eigen_methods.map(&:to_s)*' '
21
- end
22
- puts
23
- end
24
-
25
- (depth || klass.ancestors.size).times{ |level|
26
- if cur = klass.ancestors[level]
27
- level_methods = cur.send(method_function, false).grep(grep)
28
- colors = level_methods.empty? ? [:yellow] : [:green, :underline]
29
- puts Paint["#{cur}", *colors], level_methods.map(&:to_s)*' '
30
- puts unless level_methods.empty?
31
- end
32
- }
33
-
34
- nil
35
- end
36
- end
@@ -1,16 +0,0 @@
1
- require 'debugging'
2
- require 'binding.repl'
3
-
4
- begin
5
- require 'binding_of_caller'
6
- rescue LoadError
7
- warn 'Using Debugging#repl requires the "binding_of_caller" gem. Please install it or add it to your Gemfile!'
8
- end
9
-
10
- module Debugging
11
- private
12
-
13
- def repl
14
- binding.of_caller(1).repl.auto
15
- end
16
- end