puts_debuggerer 0.10.0 → 0.10.1

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: b97ba980916a6d84faa8817ed75f1cc5d19841435e707a61090c5bfaf511872e
4
- data.tar.gz: 05e9a62ad2893e1394e18359652f5de012536b90f61ba6a2507501daaf73b774
3
+ metadata.gz: 2fd0277b6264431cf1d1e83db01166e95107cbbc6dc45b0eff9adac444650372
4
+ data.tar.gz: 31276c4cb27085ccd264897fa7305e7fe1740d8f6a4a0901c73e1e2ec179c458
5
5
  SHA512:
6
- metadata.gz: 397639f53099e9fa91b5cbc7a42b0fe7c465eb2835e6b08307c5ae0b0e01036f6d3ee428c204375f2a5c977543715955f3efbd448bceb4dde59bea21f9a09290
7
- data.tar.gz: b53f8db42dea2a575f438357e43966a478692cb73342dbc9255ed7e23196758f2e166180e26283bd06f19974a2a570e2bc01f52f5d37f27d57b939e16e40e797
6
+ metadata.gz: 96cb360a70d4118c0fc63a17b0d5d1b883f40177a8765efe2a9e135afe872686ee4090ba5e8bb5c456077545225b6a92737d2de1c315e0b3ce6184ee53ef9ac1
7
+ data.tar.gz: 751582b302545b1f4bea4fb7704125e0eb3e95057c4d0a3435042b3b2cddf2d13026f60318ef0da777c72f6b004479e8f64d0fc78f374b19ad9a8db9a78ed494
@@ -1,5 +1,9 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.10.1
4
+
5
+ - Remove the need for specifying `require 'ap'` before `require 'pd'`
6
+
3
7
  ## 0.10.0
4
8
 
5
9
  - Support `require 'pd`' as a shorter alternative to `require 'puts_debuggerer'`
data/README.md CHANGED
@@ -18,7 +18,7 @@ Basic Example:
18
18
 
19
19
  ```ruby
20
20
  # /Users/User/trivia_app.rb # line 1
21
- require 'puts_debuggerer' # line 2
21
+ require 'pd' # line 2
22
22
  bug_or_band = 'beattle' # line 3
23
23
  pd bug_or_band # line 4
24
24
  ```
@@ -302,7 +302,7 @@ There are many more options and powerful features in [puts_debuggerer](https://r
302
302
  Add the following to bundler's `Gemfile`.
303
303
 
304
304
  ```ruby
305
- gem 'puts_debuggerer', '~> 0.10.0'
305
+ gem 'puts_debuggerer', '~> 0.10.1'
306
306
  ```
307
307
 
308
308
  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.
@@ -312,18 +312,35 @@ This is the recommended way for [Rails](rubyonrails.org) apps. Optionally, you m
312
312
  Or manually install and require library.
313
313
 
314
314
  ```bash
315
- gem install puts_debuggerer -v0.10.0
315
+ gem install puts_debuggerer -v0.10.1
316
316
  ```
317
317
 
318
318
  ```ruby
319
319
  require 'puts_debuggerer'
320
320
  ```
321
321
 
322
+ Or the shorter form (often helpful to quickly troubleshoot an app):
323
+
324
+ ```ruby
325
+ require 'pd'
326
+ ```
327
+
328
+
322
329
  ### Awesome Print
323
330
 
324
- puts_debuggerer comes with [awesome_print](https://github.com/awesome-print/awesome_print).
331
+ [puts_debuggerer](https://rubygems.org/gems/puts_debuggerer) comes with [awesome_print](https://github.com/awesome-print/awesome_print).
332
+
333
+ It is the default `PutsDebuggerer.print_engine`
334
+
335
+ Still, if you do not need it, you may disable by setting `PutsDebuggerer.print_engine` to another value. Example:
336
+
337
+ ```ruby
338
+ PutsDebuggerer.print_engine = :puts
339
+ ```
325
340
 
326
- You may disable when needed by not requiring in Ruby or by adding an explicit reference to awesome_print with `require: false` in bundler:
341
+ If you also avoid requiring 'awesome_print', PutsDebuggerer won't require it either if it sees that you have a different `print_engine`
342
+
343
+ You may also avoid requiring in Bundler `Gemfile` with `require: false`:
327
344
 
328
345
  ```ruby
329
346
  gem "awesome_print", require: false
@@ -381,11 +398,18 @@ Output:
381
398
  => "Hello Robert"
382
399
  ```
383
400
 
384
- Alternatively, you may want to use `object.pd_inspect` (or alias `obj.pdi`) to
385
- return formatted string without printing.
386
-
387
401
  Happy puts_debuggerering!
388
402
 
403
+ #### `pd_inspect` kernel method
404
+
405
+ You may want to just return the string produced by the `pd` method without printing it.
406
+
407
+ In that case, you may use the `pd` alternative to `object.inspect`:
408
+ - `object.pd_inspect`
409
+ - `obj.pdi` (shorter alias)
410
+
411
+ This returns the `pd` formatted string without printing to the terminal or log files.
412
+
389
413
  #### Ruby Logger and Logging::Logger
390
414
 
391
415
  Ruby Logger and Logging::Logger (from [logging gem](https://github.com/TwP/logging)) are supported as [printers](#putsdebuggererprinter) (learn more under [PutsDebuggerer#printer](#putsdebuggererprinter)).
@@ -957,7 +981,7 @@ Prints out `puts __caller_source_line__`
957
981
  - IRB
958
982
  - Rails Console.
959
983
 
960
- It provides partial-compatibility for [Opal Ruby](https://opalrb.com/), with everything working except these features:
984
+ It provides partial-compatibility for [Opal Ruby](https://opalrb.com/) by excluding AwesomePrint (opting for `:p` printer instead), with everything working except these features:
961
985
  - File name display
962
986
  - Line number display
963
987
  - Source code call display
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.10.0
1
+ 0.10.1
@@ -262,19 +262,23 @@ module PutsDebuggerer
262
262
  # > pd array
263
263
  # => [1, [2, 3]]
264
264
  # ]
265
- attr_reader :print_engine
265
+ def print_engine
266
+ if @print_engine.nil?
267
+ require 'awesome_print' if RUBY_PLATFORM != 'opal'
268
+ @print_engine = print_engine_default
269
+ end
270
+ @print_engine
271
+ end
266
272
 
267
273
  def print_engine=(engine)
268
- if engine.nil?
269
- @print_engine = print_engine_default
270
- elsif engine.is_a?(Proc)
274
+ if engine.is_a?(Proc) || engine.nil?
271
275
  @print_engine = engine
272
276
  else
273
277
  @print_engine = method(engine).name rescue raise(PRINT_ENGINE_MESSAGE_INVALID)
274
278
  end
275
279
  end
276
280
 
277
- def print_engine_default
281
+ def print_engine_default
278
282
  Object.const_defined?(:AwesomePrint) ? PRINT_ENGINE_DEFAULT : :p
279
283
  end
280
284
 
@@ -530,7 +534,6 @@ PutsDebuggerer.source_line_count = nil
530
534
  # => "Show me the source of the bug: beattle"
531
535
  # [PD] /Users/User/finance_calculator_app/pd_test.rb:4 "What line number am I?"
532
536
  def pd(*objects)
533
- require 'awesome_print' if ['awesome_print', 'ap'].include?(PutsDebuggerer.print_engine.to_s) && RUBY_PLATFORM != 'opal'
534
537
  options = PutsDebuggerer.determine_options(objects) || {}
535
538
  object = PutsDebuggerer.determine_object(objects)
536
539
  run_at = PutsDebuggerer.determine_run_at(options)
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.10.0
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Maleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-26 00:00:00.000000000 Z
11
+ date: 2020-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print