debug_me 1.0.5 → 1.0.6
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/README.md +4 -0
- data/debug_me.gemspec +1 -1
- data/lib/debug_me.rb +13 -4
- data/lib/debug_me/version.rb +6 -1
- data/tests/debug_me_test.rb +22 -1
- data/tests/world_view.rb +10 -0
- 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: 2f1a9993af0c276f8ee37bf6cef26f6ab11174bb1735a177c45112e6963ef2a3
|
4
|
+
data.tar.gz: ad89e6defd63f3b981f98c048c427d7a4d2b62851b848d2f5536f6f60809fa49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df0fda4a35106408648278a8e823b7e9c1666250cd7a0e7a8373166b7ab9bce0c7fff0db6c79a7f06b56d69247eb5317aea227fdc079dbf1c99d9c57d1fe6089
|
7
|
+
data.tar.gz: 5a76a8d3e574f983a482498e620c8f9f4dba90ae9a5b815ab5a0133e56c766b112a89242b60b75a03b256a9fe5e597a0e171182e67dc8aec85fd2512faabcc28
|
data/README.md
CHANGED
@@ -15,6 +15,7 @@ DebugMe::debug_me(){} works with local, instance and class variables.
|
|
15
15
|
|
16
16
|
## Recent Changes
|
17
17
|
|
18
|
+
* 1.0.6 Added support for variable backtrack length via the :levels option
|
18
19
|
* 1.0.5 Added support for an instance of a Logger class.
|
19
20
|
* 1.0.4 Added :strftime to the options; changed the default format from decimal seconds since epic to something that is more easy comprehend on a clock.
|
20
21
|
|
@@ -44,6 +45,8 @@ debug_me # Prints only the header banner consisting of tag, method name, file na
|
|
44
45
|
|
45
46
|
debug_me('INFO') # Also prints only the header but with a different tag
|
46
47
|
|
48
|
+
debug_me(levels: 5) # Along with the header, show the call stack back this many levels
|
49
|
+
|
47
50
|
debug_me {} # prints the default header and __ALL__ variables
|
48
51
|
|
49
52
|
debug_me {:just_this_variable} # prints the default header and the value of only one specific variable
|
@@ -101,6 +104,7 @@ DebugMeDefaultOptions = {
|
|
101
104
|
time: true, # Include a time-stamp in front of the tag
|
102
105
|
strftime: '%Y-%m-%d %H:%M:%S.%6N', # timestamp format
|
103
106
|
header: true, # Print a header string before printing the variables
|
107
|
+
levels: 0, # Number of additional backtrack entries to display
|
104
108
|
lvar: true, # Include local variables
|
105
109
|
ivar: true, # Include instance variables in the output
|
106
110
|
cvar: true, # Include class variables in the output
|
data/debug_me.gemspec
CHANGED
@@ -5,7 +5,7 @@ require 'debug_me/version'
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = 'debug_me'
|
8
|
-
spec.version = DebugMe::
|
8
|
+
spec.version = DebugMe::DEBUG_ME_VERSION
|
9
9
|
spec.authors = ['Dewayne VanHoozer']
|
10
10
|
spec.email = ['dvanhoozer@gmail.com']
|
11
11
|
spec.summary = 'A tool to print the labeled value of variables.'
|
data/lib/debug_me.rb
CHANGED
@@ -6,6 +6,7 @@ DebugMeDefaultOptions = {
|
|
6
6
|
time: true, # Include a time-stamp in front of the tag
|
7
7
|
strftime: '%Y-%m-%d %H:%M:%S.%6N', # timestamp format
|
8
8
|
header: true, # Print a header string before printing the variables
|
9
|
+
levels: 0, # Number of additional backtrack entries to display
|
9
10
|
lvar: true, # Include local variables
|
10
11
|
ivar: true, # Include instance variables in the output
|
11
12
|
cvar: true, # Include class variables in the output
|
@@ -31,10 +32,18 @@ module DebugMe
|
|
31
32
|
s = ''
|
32
33
|
s += Time.now.strftime(options[:strftime])+' ' if options[:time]
|
33
34
|
s += "#{options[:tag]}"
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
35
|
+
bt = caller # where_from under 1.8.6 its a stack trace array under 1.8.7+ as a string
|
36
|
+
|
37
|
+
if options[:header]
|
38
|
+
cf = bt.is_a?(Array) ? bt[0] : bt
|
39
|
+
out_string = sprintf("%s Source: %s\n", s, cf)
|
40
|
+
if options[:levels] > 0
|
41
|
+
levels = options[:levels].to_i
|
42
|
+
bt[1..levels].each_with_index do |cff, level|
|
43
|
+
out_string += sprintf("%s Source: FROM (%02d) : %s\n", s, level, cff)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
38
47
|
|
39
48
|
if block_given?
|
40
49
|
|
data/lib/debug_me/version.rb
CHANGED
@@ -1,3 +1,8 @@
|
|
1
1
|
module DebugMe
|
2
|
-
|
2
|
+
# I know. Its weird to duplicate the name space; but,
|
3
|
+
# doing this allows you to include DebugMe in your code
|
4
|
+
# to get direct access to the debug_me method without
|
5
|
+
# poluting your code with an object name that is so
|
6
|
+
# common.
|
7
|
+
DEBUG_ME_VERSION = '1.0.6'
|
3
8
|
end
|
data/tests/debug_me_test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'amazing_print'
|
4
4
|
require 'logger'
|
5
5
|
require 'pathname'
|
6
6
|
|
@@ -38,6 +38,27 @@ describe DebugMe do
|
|
38
38
|
|
39
39
|
end # describe "source header included" do
|
40
40
|
|
41
|
+
|
42
|
+
|
43
|
+
describe "Add more from the call stack" do
|
44
|
+
|
45
|
+
before do
|
46
|
+
@my_world_view = WorldView.new
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'supports multiple levels from the call stack' do
|
50
|
+
result = @my_world_view.one
|
51
|
+
# debug_me returns everything as one big long string
|
52
|
+
# with embedded new lines. In the WorldView class
|
53
|
+
# method six is called from five, which is called from four, three, two, one.
|
54
|
+
# The ":levels" options is set to 5 so expect the
|
55
|
+
# normal source header followed by 5 additional
|
56
|
+
# entries from the call stack.
|
57
|
+
assert_equal(result.split("\n").size, 6)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
|
41
62
|
describe "source header excluded" do
|
42
63
|
|
43
64
|
before do
|
data/tests/world_view.rb
CHANGED
@@ -30,4 +30,14 @@ class WorldView
|
|
30
30
|
cconst: true
|
31
31
|
){}
|
32
32
|
end
|
33
|
+
|
34
|
+
def one; two; end
|
35
|
+
def two; three; end
|
36
|
+
def three; four; end
|
37
|
+
def four; five; end
|
38
|
+
def five; six; end
|
39
|
+
|
40
|
+
def six
|
41
|
+
debug_me(tag:'How did I get here?', levels: 5)
|
42
|
+
end
|
33
43
|
end # class WorldView
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: debug_me
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dewayne VanHoozer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
80
80
|
- !ruby/object:Gem::Version
|
81
81
|
version: '0'
|
82
82
|
requirements: []
|
83
|
-
rubygems_version: 3.1.
|
83
|
+
rubygems_version: 3.1.3
|
84
84
|
signing_key:
|
85
85
|
specification_version: 4
|
86
86
|
summary: A tool to print the labeled value of variables.
|