ruby_snooper 0.1.1 → 0.1.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/Gemfile.lock +3 -1
- data/lib/ruby_snooper/trace_writer.rb +27 -9
- data/lib/ruby_snooper/version.rb +1 -1
- data/lib/ruby_snooper.rb +1 -1
- data/ruby_snooper.gemspec +1 -0
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88b67b2dff4cab009e6b5d986229e1abf0abef2b6661cb37f56fb6c86a1aa2cc
|
4
|
+
data.tar.gz: 72d60cbae216efeaf2ae1055067ee6216210e4afb7129f3f005458be945f8b1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb28b92ba9f16814a73a570c1b293a6a62e2aa683c8470a5cd5b67fe8e8140f9995482b885e23facbe5c344b4a8d7d6c265fdeb4c25c38857646703d16719b2e
|
7
|
+
data.tar.gz: 0da3d085ffdcb8ac7d5e786575c1e94d183f5894bbb1977e5363a4cac26fbca326e3d9f39fcfc22a012debbcff41f3613cd0ecfbbfbcb1f966cfe6a53a526138
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
+
require 'coderay'
|
2
|
+
|
1
3
|
module RubySnooper
|
2
4
|
class TraceWriter
|
3
|
-
def initialize(
|
4
|
-
@
|
5
|
+
def initialize(method_name, caller_path)
|
6
|
+
@method_name = method_name
|
5
7
|
@caller_path = caller_path
|
6
8
|
@source_cache = {}
|
7
9
|
@lines = []
|
@@ -19,7 +21,7 @@ module RubySnooper
|
|
19
21
|
|
20
22
|
def trace_point
|
21
23
|
@trace_point ||= TracePoint.new(:call, :line, :return) do |tp|
|
22
|
-
next
|
24
|
+
next if @method_name != tp.method_id
|
23
25
|
next if tp.path != @caller_path
|
24
26
|
|
25
27
|
local_variables = tp.binding.local_variables.map do |name|
|
@@ -76,7 +78,7 @@ module RubySnooper
|
|
76
78
|
def print
|
77
79
|
STDERR.puts "From #{@file_path}" if @event == :call
|
78
80
|
print_variables
|
79
|
-
STDERR.puts "#{Time.now.strftime("%T,%L")} #{@event} #{number} #{code}"
|
81
|
+
STDERR.puts "#{Time.now.strftime("%T,%L")} #{@event} #{number.to_s.rjust(4)} #{code_colorized(code)}"
|
80
82
|
end
|
81
83
|
|
82
84
|
private
|
@@ -84,10 +86,10 @@ module RubySnooper
|
|
84
86
|
def print_variables
|
85
87
|
case @event
|
86
88
|
when :call
|
87
|
-
STDERR.puts "Starting var #{variables_str(@local_variables)}"
|
89
|
+
STDERR.puts colorized("Starting var #{variables_str(@local_variables)}")
|
88
90
|
when :line
|
89
|
-
STDERR.puts "New var #{variables_str(@new_variables)}" if @new_variables.count > 0
|
90
|
-
STDERR.puts "Modified var #{variables_str(@modified_variables)}" if @modified_variables.count > 0
|
91
|
+
STDERR.puts colorized("New var #{variables_str(@new_variables)}") if @new_variables.count > 0
|
92
|
+
STDERR.puts colorized("Modified var #{variables_str(@modified_variables)}") if @modified_variables.count > 0
|
91
93
|
end
|
92
94
|
end
|
93
95
|
|
@@ -96,6 +98,14 @@ module RubySnooper
|
|
96
98
|
"#{key} = #{value}"
|
97
99
|
end.join(', ')
|
98
100
|
end
|
101
|
+
|
102
|
+
def code_colorized(str)
|
103
|
+
::CodeRay.scan(str, :ruby).term
|
104
|
+
end
|
105
|
+
|
106
|
+
def colorized(str)
|
107
|
+
"\e[0;31m#{str}\e[0m"
|
108
|
+
end
|
99
109
|
end
|
100
110
|
|
101
111
|
class Return
|
@@ -112,8 +122,16 @@ module RubySnooper
|
|
112
122
|
end
|
113
123
|
|
114
124
|
def print
|
115
|
-
STDERR.puts "#{Time.now.strftime("%T,%L")} #{@event} #{@number} #{@code}"
|
116
|
-
STDERR.puts "Return value #{@return_value}"
|
125
|
+
STDERR.puts "#{Time.now.strftime("%T,%L")} #{@event} #{@number.to_s.rjust(4)} #{code_colorized(@code)}"
|
126
|
+
STDERR.puts colorized("Return value #{@return_value}")
|
127
|
+
end
|
128
|
+
|
129
|
+
def code_colorized(str)
|
130
|
+
::CodeRay.scan(str, :ruby).term
|
131
|
+
end
|
132
|
+
|
133
|
+
def colorized(str)
|
134
|
+
"\e[0;31m#{str}\e[0m"
|
117
135
|
end
|
118
136
|
end
|
119
137
|
end
|
data/lib/ruby_snooper/version.rb
CHANGED
data/lib/ruby_snooper.rb
CHANGED
data/ruby_snooper.gemspec
CHANGED
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
24
24
|
spec.require_paths = ["lib"]
|
25
25
|
|
26
|
+
spec.add_dependency "coderay", "~> 1.1.2"
|
26
27
|
spec.add_development_dependency "bundler", "~> 1.17"
|
27
28
|
spec.add_development_dependency "rake", "~> 10.0"
|
28
29
|
spec.add_development_dependency "rspec", "~> 3.0"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_snooper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nanonanomachine
|
@@ -10,6 +10,20 @@ bindir: exe
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2019-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: coderay
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.1.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.1.2
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|