puts_debuggerer 0.13.1 → 0.13.2
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 +4 -4
- data/CHANGELOG.md +9 -0
- data/LICENSE.txt +1 -1
- data/README.md +70 -20
- data/VERSION +1 -1
- data/lib/puts_debuggerer/core_ext/kernel.rb +1 -1
- data/lib/puts_debuggerer/source_file.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f1e480d2a8330d48a546c7e89a2479185cfad2bc1f6b8cf1a9750494de27406
|
4
|
+
data.tar.gz: e135390dd68993136fd2fd4d22d4721dd8a12454f5ce71f2ad164f453358e1db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 752b67073d6ffda81d890aa568a74f48f7f09b3321c4d5b6e7f51ea8a5c098b0feebe77e3ca5d4f0a80eb842844e8d76f8f75443ab075f153d761842594664db
|
7
|
+
data.tar.gz: bb327d1a2633282307da402569697746c4f0ba91e0c93955728fb9ba647bec9d7d2100406040afe950c630d4a0e9774d3afdc94ac0e8bf1795b429e231dda2d4
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## 0.13.2
|
4
|
+
|
5
|
+
- Fix issue caused by MiniTest Rails having `IRB` constant declared despite being outside of IRB
|
6
|
+
|
7
|
+
## 0.13.1
|
8
|
+
|
9
|
+
- Support `a: '[PD]'` shortcut to passing `announcer: '[PD]'`
|
10
|
+
- Support `c: :t` shortcut to passing `caller: true`
|
11
|
+
|
3
12
|
## 0.13.0
|
4
13
|
|
5
14
|
- Support `h: :t` shortcut to passing `header: true`
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -114,7 +114,7 @@ Output:
|
|
114
114
|
=> "[Hard Cover] Pragmatic Ruby Book - English Version"
|
115
115
|
```
|
116
116
|
|
117
|
-
What if you would like to add a header for faster findability of groups of related pd statements? Just use the `header` option
|
117
|
+
What if you would like to add a header for faster findability of groups of related pd statements? Just use the `header` option:
|
118
118
|
|
119
119
|
```ruby
|
120
120
|
pd order_total, header: true
|
@@ -122,6 +122,14 @@ pd order_summary
|
|
122
122
|
pd order_details
|
123
123
|
```
|
124
124
|
|
125
|
+
Or the `h` shortcut:
|
126
|
+
|
127
|
+
```ruby
|
128
|
+
pd order_total, h: :t
|
129
|
+
pd order_summary
|
130
|
+
pd order_details
|
131
|
+
```
|
132
|
+
|
125
133
|
Output:
|
126
134
|
|
127
135
|
```
|
@@ -145,12 +153,20 @@ Output:
|
|
145
153
|
=> "[Hard Cover] Pragmatic Ruby Book - English Version"
|
146
154
|
```
|
147
155
|
|
148
|
-
Wanna
|
156
|
+
Wanna add a footer too? No problem!
|
157
|
+
|
158
|
+
```ruby
|
159
|
+
pd order_total, header: true
|
160
|
+
pd order_summary
|
161
|
+
pd order_details, footer: true
|
162
|
+
```
|
163
|
+
|
164
|
+
Or use the `f` shortcut:
|
149
165
|
|
150
166
|
```ruby
|
151
|
-
pd order_total,
|
167
|
+
pd order_total, h: :t
|
152
168
|
pd order_summary
|
153
|
-
pd order_details,
|
169
|
+
pd order_details, f: :t
|
154
170
|
```
|
155
171
|
|
156
172
|
Output:
|
@@ -158,7 +174,7 @@ Output:
|
|
158
174
|
```
|
159
175
|
(2.7ms) CREATE TABLE "ar_internal_metadata" ("key" character varying PRIMARY KEY, "value" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
|
160
176
|
ActiveRecord::InternalMetadata Load (0.4ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", :environment], ["LIMIT", 1]]
|
161
|
-
|
177
|
+
################################################################################
|
162
178
|
[PD] /Users/User/ordering/order.rb:39
|
163
179
|
> pd order_total, header: '>'*80
|
164
180
|
=> 195.50
|
@@ -174,10 +190,10 @@ Output:
|
|
174
190
|
[PD] /Users/User/ordering/order.rb:41
|
175
191
|
> pd order_details, footer: '<'*80
|
176
192
|
=> "[Hard Cover] Pragmatic Ruby Book - English Version"
|
177
|
-
|
193
|
+
################################################################################
|
178
194
|
```
|
179
195
|
|
180
|
-
Need a quick stack trace? Just use the `caller` option (you may surround with header and footer too via `wrapper`
|
196
|
+
Need a quick stack trace? Just use the `caller` option (you may surround with header and footer too via `wrapper`).
|
181
197
|
|
182
198
|
```ruby
|
183
199
|
pd order_total, caller: true, wrapper: true
|
@@ -185,6 +201,14 @@ pd order_summary
|
|
185
201
|
pd order_details
|
186
202
|
```
|
187
203
|
|
204
|
+
Or use the `c` and `w` shortcuts:
|
205
|
+
|
206
|
+
```ruby
|
207
|
+
pd order_total, c: :t, w: :t
|
208
|
+
pd order_summary
|
209
|
+
pd order_details
|
210
|
+
```
|
211
|
+
|
188
212
|
Output:
|
189
213
|
|
190
214
|
```
|
@@ -254,6 +278,14 @@ pd order_summary
|
|
254
278
|
pd order_details
|
255
279
|
```
|
256
280
|
|
281
|
+
Or use shortcut syntax:
|
282
|
+
|
283
|
+
```ruby
|
284
|
+
pd order_total, c: 3, w: :t
|
285
|
+
pd order_summary
|
286
|
+
pd order_details
|
287
|
+
```
|
288
|
+
|
257
289
|
```
|
258
290
|
(2.7ms) CREATE TABLE "ar_internal_metadata" ("key" character varying PRIMARY KEY, "value" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)
|
259
291
|
ActiveRecord::InternalMetadata Load (0.4ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", :environment], ["LIMIT", 1]]
|
@@ -288,7 +320,7 @@ There are many more options and features in [puts_debuggerer](https://rubygems.o
|
|
288
320
|
Add the following to bundler's `Gemfile`.
|
289
321
|
|
290
322
|
```ruby
|
291
|
-
gem 'puts_debuggerer', '~> 0.13.
|
323
|
+
gem 'puts_debuggerer', '~> 0.13.2'
|
292
324
|
```
|
293
325
|
|
294
326
|
This is the recommended way for [Rails](rubyonrails.org) apps. Optionally, you may create an initializer under `config/initializers` named `puts_debuggerer_options.rb` to enable further customizations as per the [Options](#options) section below.
|
@@ -298,7 +330,7 @@ This is the recommended way for [Rails](rubyonrails.org) apps. Optionally, you m
|
|
298
330
|
Or manually install and require library.
|
299
331
|
|
300
332
|
```bash
|
301
|
-
gem install puts_debuggerer -v0.13.
|
333
|
+
gem install puts_debuggerer -v0.13.2
|
302
334
|
```
|
303
335
|
|
304
336
|
```ruby
|
@@ -470,7 +502,7 @@ Example Printout:
|
|
470
502
|
```
|
471
503
|
|
472
504
|
#### `PutsDebuggerer.header`
|
473
|
-
(default = `'>'*80`)
|
505
|
+
(default = `'>'*80`) [shortcut: `h`]
|
474
506
|
|
475
507
|
Header to include at the top of every print out.
|
476
508
|
* Default value is `nil`
|
@@ -530,7 +562,7 @@ Prints out:
|
|
530
562
|
```
|
531
563
|
|
532
564
|
#### `PutsDebuggerer.footer`
|
533
|
-
(default = `'<'*80`)
|
565
|
+
(default = `'<'*80`) [shortcut: `f`]
|
534
566
|
|
535
567
|
Footer to include at the bottom of every print out.
|
536
568
|
* Default value is `nil`
|
@@ -590,7 +622,7 @@ Prints out:
|
|
590
622
|
```
|
591
623
|
|
592
624
|
#### `PutsDebuggerer.wrapper`
|
593
|
-
(default = `'*'*80`)
|
625
|
+
(default = `'*'*80`) [shortcut: `w`]
|
594
626
|
|
595
627
|
Wrapper to include at the top and bottom of every print out (both header and footer).
|
596
628
|
* Default value is `nil`
|
@@ -762,7 +794,7 @@ Prints out:
|
|
762
794
|
```
|
763
795
|
|
764
796
|
#### `PutsDebuggerer.announcer`
|
765
|
-
(default = `"[PD]"`)
|
797
|
+
(default = `"[PD]"`) [shortcut: `a`]
|
766
798
|
|
767
799
|
Announcer (e.g. `[PD]`) to announce every print out with (default: `"[PD]"`)
|
768
800
|
|
@@ -833,7 +865,7 @@ FOOTER: ************************************************************************
|
|
833
865
|
```
|
834
866
|
|
835
867
|
#### `PutsDebuggerer.caller`
|
836
|
-
(default = nil)
|
868
|
+
(default = nil) [shortcut: `c`]
|
837
869
|
|
838
870
|
Caller backtrace included at the end of every print out
|
839
871
|
Passed an argument of true/false, nil, or depth as an integer.
|
@@ -845,15 +877,33 @@ Example:
|
|
845
877
|
|
846
878
|
```ruby
|
847
879
|
# File Name: /Users/User/sample_app/lib/sample.rb
|
848
|
-
|
849
|
-
pd (x=1)
|
880
|
+
pd (x=1), caller: 3
|
850
881
|
```
|
851
882
|
|
852
|
-
Prints out:
|
883
|
+
Prints out (fictional):
|
853
884
|
|
854
885
|
```bash
|
855
|
-
[PD] /Users/User/sample_app/lib/sample.rb:
|
856
|
-
> pd x=1
|
886
|
+
[PD] /Users/User/sample_app/lib/sample.rb:2
|
887
|
+
> pd x=1, caller: 3
|
888
|
+
=> "1"
|
889
|
+
/Users/User/sample_app/lib/master_samples.rb:368:in \`block (3 levels) in <top (required)>\'
|
890
|
+
/Users/User/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/workspace.rb:87:in \`eval\'
|
891
|
+
/Users/User/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/workspace.rb:87:in \`evaluate\'
|
892
|
+
/Users/User/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/context.rb:381:in \`evaluate\'
|
893
|
+
```
|
894
|
+
|
895
|
+
Shortcut Example:
|
896
|
+
|
897
|
+
```ruby
|
898
|
+
# File Name: /Users/User/sample_app/lib/sample.rb
|
899
|
+
pd (x=1), c: 3
|
900
|
+
```
|
901
|
+
|
902
|
+
Prints out (fictional):
|
903
|
+
|
904
|
+
```bash
|
905
|
+
[PD] /Users/User/sample_app/lib/sample.rb:2
|
906
|
+
> pd x=1, caller: 3
|
857
907
|
=> "1"
|
858
908
|
/Users/User/sample_app/lib/master_samples.rb:368:in \`block (3 levels) in <top (required)>\'
|
859
909
|
/Users/User/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/workspace.rb:87:in \`eval\'
|
@@ -1054,4 +1104,4 @@ Note that it ignores the configured printer when printing exceptions as it relie
|
|
1054
1104
|
|
1055
1105
|
[MIT](LICENSE.txt)
|
1056
1106
|
|
1057
|
-
Copyright (c) 2017-
|
1107
|
+
Copyright (c) 2017-2021 - Andy Maleh.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.13.
|
1
|
+
0.13.2
|
@@ -147,7 +147,7 @@ module Kernel
|
|
147
147
|
if defined?(Pry)
|
148
148
|
@pry_instance ||= Pry.new
|
149
149
|
source_line = Pry::Command::Hist.new(pry_instance: @pry_instance).call.instance_variable_get(:@buffer).split("\n")[source_line_number - 1] # TODO handle multi-lines in source_line_count
|
150
|
-
elsif defined?(IRB)
|
150
|
+
elsif defined?(IRB) && TOPLEVEL_BINDING.receiver.respond_to?(:conf)
|
151
151
|
source_line = TOPLEVEL_BINDING.receiver.conf.io.line(source_line_number) # TODO handle multi-lines in source_line_count
|
152
152
|
else
|
153
153
|
source_line = PutsDebuggerer::SourceFile.new(source_file).source(source_line_count, source_line_number)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module PutsDebuggerer
|
2
2
|
class SourceFile
|
3
3
|
def initialize(file_path)
|
4
|
-
@file = File.new(file_path) if file_path
|
4
|
+
@file = File.new(file_path) if file_path && File.exist?(file_path)
|
5
5
|
end
|
6
6
|
|
7
7
|
def source(source_line_count, source_line_number)
|
@@ -16,7 +16,7 @@ module PutsDebuggerer
|
|
16
16
|
def source_lines(source_line_count, source_line_number)
|
17
17
|
lines = []
|
18
18
|
begin
|
19
|
-
while @file.lineno < source_line_number + source_line_count
|
19
|
+
while @file && @file.lineno < source_line_number + source_line_count
|
20
20
|
file_line_number = @file.lineno + 1
|
21
21
|
file_line = @file.readline
|
22
22
|
if file_line_number >= source_line_number && file_line_number < source_line_number + source_line_count
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puts_debuggerer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Maleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: awesome_print
|
@@ -206,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
206
206
|
- !ruby/object:Gem::Version
|
207
207
|
version: '0'
|
208
208
|
requirements: []
|
209
|
-
rubygems_version: 3.2.
|
209
|
+
rubygems_version: 3.2.31
|
210
210
|
signing_key:
|
211
211
|
specification_version: 4
|
212
212
|
summary: Ruby library for improved puts debugging, automatically displaying bonus
|