rshade 0.1.7 → 0.1.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +4 -0
- data/Gemfile.lock +23 -22
- data/README.md +74 -19
- data/html/template.html.erb +72 -0
- data/lib/rshade/config/store.rb +46 -0
- data/lib/rshade/config.rb +76 -0
- data/lib/rshade/core_extensions/object/reveal.rb +8 -0
- data/lib/rshade/event.rb +35 -14
- data/lib/rshade/event_observer.rb +45 -0
- data/lib/rshade/event_processor.rb +36 -0
- data/lib/rshade/event_tree.rb +75 -0
- data/lib/rshade/filter/abstract_filter.rb +26 -0
- data/lib/rshade/filter/default.rb +28 -0
- data/lib/rshade/filter/exclude_path_filter.rb +25 -0
- data/lib/rshade/filter/filter_builder.rb +28 -0
- data/lib/rshade/filter/filter_composition.rb +57 -0
- data/lib/rshade/filter/include_path_filter.rb +43 -0
- data/lib/rshade/filter/variable_filter.rb +33 -0
- data/lib/rshade/formatter/file.rb +28 -0
- data/lib/rshade/formatter/html.rb +33 -0
- data/lib/rshade/formatter/json.rb +15 -26
- data/lib/rshade/formatter/stdout.rb +3 -3
- data/lib/rshade/formatter/string.rb +17 -11
- data/lib/rshade/serializer/traversal.rb +47 -0
- data/lib/rshade/trace.rb +19 -39
- data/lib/rshade/trace_observable.rb +40 -0
- data/lib/rshade/version.rb +1 -1
- data/lib/rshade.rb +21 -22
- data/rshade.gemspec +1 -1
- metadata +25 -14
- data/lib/rshade/base.rb +0 -13
- data/lib/rshade/configuration.rb +0 -39
- data/lib/rshade/event_serializer.rb +0 -29
- data/lib/rshade/event_store.rb +0 -23
- data/lib/rshade/filter/app_filter.rb +0 -20
- data/lib/rshade/formatter/http.rb +0 -8
- data/lib/rshade/storage.rb +0 -4
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rshade
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Lopatin
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.2.33
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 2.2.33
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -83,21 +83,32 @@ files:
|
|
83
83
|
- Rakefile
|
84
84
|
- bin/console
|
85
85
|
- bin/setup
|
86
|
+
- html/template.html.erb
|
86
87
|
- lib/rshade.rb
|
87
|
-
- lib/rshade/
|
88
|
-
- lib/rshade/
|
88
|
+
- lib/rshade/config.rb
|
89
|
+
- lib/rshade/config/store.rb
|
90
|
+
- lib/rshade/core_extensions/object/reveal.rb
|
89
91
|
- lib/rshade/event.rb
|
90
|
-
- lib/rshade/
|
91
|
-
- lib/rshade/
|
92
|
-
- lib/rshade/
|
93
|
-
- lib/rshade/
|
92
|
+
- lib/rshade/event_observer.rb
|
93
|
+
- lib/rshade/event_processor.rb
|
94
|
+
- lib/rshade/event_tree.rb
|
95
|
+
- lib/rshade/filter/abstract_filter.rb
|
96
|
+
- lib/rshade/filter/default.rb
|
97
|
+
- lib/rshade/filter/exclude_path_filter.rb
|
98
|
+
- lib/rshade/filter/filter_builder.rb
|
99
|
+
- lib/rshade/filter/filter_composition.rb
|
100
|
+
- lib/rshade/filter/include_path_filter.rb
|
101
|
+
- lib/rshade/filter/variable_filter.rb
|
102
|
+
- lib/rshade/formatter/file.rb
|
103
|
+
- lib/rshade/formatter/html.rb
|
94
104
|
- lib/rshade/formatter/json.rb
|
95
105
|
- lib/rshade/formatter/stdout.rb
|
96
106
|
- lib/rshade/formatter/string.rb
|
97
107
|
- lib/rshade/rails/rails.rb
|
98
108
|
- lib/rshade/rspec/rspec.rb
|
99
|
-
- lib/rshade/
|
109
|
+
- lib/rshade/serializer/traversal.rb
|
100
110
|
- lib/rshade/trace.rb
|
111
|
+
- lib/rshade/trace_observable.rb
|
101
112
|
- lib/rshade/version.rb
|
102
113
|
- rshade.gemspec
|
103
114
|
- shade.jpg
|
@@ -110,7 +121,7 @@ metadata:
|
|
110
121
|
homepage_uri: https://github.com/gingray/rshade
|
111
122
|
source_code_uri: https://github.com/gingray/rshade
|
112
123
|
changelog_uri: https://github.com/gingray/rshade/CHANGELOG.md
|
113
|
-
post_install_message:
|
124
|
+
post_install_message:
|
114
125
|
rdoc_options: []
|
115
126
|
require_paths:
|
116
127
|
- lib
|
@@ -126,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
126
137
|
version: '0'
|
127
138
|
requirements: []
|
128
139
|
rubygems_version: 3.0.8
|
129
|
-
signing_key:
|
140
|
+
signing_key:
|
130
141
|
specification_version: 4
|
131
142
|
summary: https://github.com/gingray/rshade
|
132
143
|
test_files: []
|
data/lib/rshade/base.rb
DELETED
data/lib/rshade/configuration.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
module RShade
|
2
|
-
class Configuration
|
3
|
-
RUBY_VERSION_PATTERN = /ruby-[0-9.]*/
|
4
|
-
|
5
|
-
attr_accessor :track_gems, :filter, :formatter
|
6
|
-
|
7
|
-
def initialize
|
8
|
-
@track_gems = Set.new
|
9
|
-
end
|
10
|
-
|
11
|
-
def excluded_paths
|
12
|
-
@excluded_paths ||= begin
|
13
|
-
paths = [ENV['GEM_PATH'].split(':'), parse_ruby_version].flatten.compact
|
14
|
-
paths.reject do |v|
|
15
|
-
track_gems.any? { |gem_name| v.include? gem_name }
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def parse_ruby_version
|
21
|
-
val = RUBY_VERSION_PATTERN.match(ENV['GEM_PATH'])
|
22
|
-
return nil unless val
|
23
|
-
|
24
|
-
val[0]
|
25
|
-
end
|
26
|
-
|
27
|
-
def filter
|
28
|
-
@filter ||= ::RShade::Filter::AppFilter
|
29
|
-
end
|
30
|
-
|
31
|
-
def formatter
|
32
|
-
@formatter ||= ::RShade::Formatter::Stdout
|
33
|
-
end
|
34
|
-
|
35
|
-
def store_dir
|
36
|
-
File.expand_path('../../tmp', __dir__)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
require 'date'
|
2
|
-
module RShade
|
3
|
-
class EventSerializer < Base
|
4
|
-
attr_reader :evt, :level
|
5
|
-
SERIALIZE_CLASSES = [NilClass, TrueClass, FalseClass, Numeric, Time, Date, String, Symbol, Array, Hash]
|
6
|
-
def initialize(evt, level)
|
7
|
-
@evt = evt
|
8
|
-
@level = level
|
9
|
-
end
|
10
|
-
|
11
|
-
def call
|
12
|
-
{ level: @level, path: evt.path, lineno: evt.lineno, klass: evt.defined_class, method_name: evt.method_id, vars: process_locals(evt) }
|
13
|
-
end
|
14
|
-
|
15
|
-
def process_locals(evt)
|
16
|
-
vars = {}
|
17
|
-
evt.binding.local_variables.each do |var|
|
18
|
-
local_var = evt.binding.local_variable_get var
|
19
|
-
if SERIALIZE_CLASSES.any? { |klass| local_var.is_a?(klass) }
|
20
|
-
vars[var] = local_var
|
21
|
-
else
|
22
|
-
class_name = local_var.is_a?(Class) ? local_var.to_s : local_var.class.to_s
|
23
|
-
vars[var] = "FILTERED[#{class_name}]"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
vars
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
data/lib/rshade/event_store.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
module RShade
|
2
|
-
# nodoc
|
3
|
-
class EventStore
|
4
|
-
attr_reader :events
|
5
|
-
|
6
|
-
def initialize
|
7
|
-
@events = []
|
8
|
-
end
|
9
|
-
|
10
|
-
def <<(event)
|
11
|
-
events << event
|
12
|
-
end
|
13
|
-
|
14
|
-
def iterate(&block)
|
15
|
-
pos_map = {}
|
16
|
-
@events.map {|item| item.level }.uniq.sort.each_with_index { |item, index| pos_map[item] = index}
|
17
|
-
@events.uniq{|item| [item.level, "#{item.klass}##{item.method_name}"]}.sort_by { |item| item.depth }.each do |item|
|
18
|
-
item.depth = pos_map[item.level]
|
19
|
-
yield(item, item.depth)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module RShade
|
2
|
-
module Filter
|
3
|
-
class AppFilter < ::RShade::Base
|
4
|
-
attr_reader :data
|
5
|
-
|
6
|
-
def initialize(data)
|
7
|
-
@data = data
|
8
|
-
end
|
9
|
-
|
10
|
-
def call
|
11
|
-
valid?(data[:path])
|
12
|
-
end
|
13
|
-
|
14
|
-
def valid?(path)
|
15
|
-
return true if RShade.config.track_gems.any? { |item| path.include? item }
|
16
|
-
RShade.config.excluded_paths.none? { |item| path.include? item }
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
data/lib/rshade/storage.rb
DELETED