rshade 0.1.7 → 0.1.9.1
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/.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