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