debugging 1.1.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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