rubrowser 2.10 → 2.11
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/.rubocop.yml +2 -0
- data/.travis.yml +2 -3
- data/Gemfile.lock +2 -2
- data/bin/rubrowser +2 -2
- data/lib/rubrowser/connection.rb +1 -1
- data/lib/rubrowser/data.rb +3 -5
- data/lib/rubrowser/parser/file.rb +7 -5
- data/lib/rubrowser/parser/relation/base.rb +2 -2
- data/lib/rubrowser/renderer.rb +1 -0
- data/lib/rubrowser/server.rb +1 -1
- data/lib/rubrowser/version.rb +1 -1
- data/rubrowser.gemspec +5 -4
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 14f3825970f46217df0193e3425f012e3ec93847e7a36c5ae4fe8668655e74e9
|
4
|
+
data.tar.gz: 3b3659e25fc28e75af88ebbebfde7f9510caa1f79bc994e4cc01c4d90101e215
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0caba3869ea075fd1bcd94b2bdcc01198c5a23801cd5197b46a2cee8c4d84b40397fcdc8e920d8e57fa07d7f06f989380736fc69dbdc6dfbbd452bf3b8a63712
|
7
|
+
data.tar.gz: 53daf996193145e55920247ec4622badefa427e0c5b0a486e0a990952d222ea6164a099fa6013c9838acb28ae36dc6179db081d102d8dca9590e357f6d046e5a
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
data/bin/rubrowser
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
$LOAD_PATH.push File.expand_path('
|
2
|
+
$LOAD_PATH.push File.expand_path('../lib', __dir__)
|
3
3
|
|
4
4
|
require 'optparse'
|
5
5
|
require 'rubrowser'
|
@@ -8,7 +8,7 @@ require 'rubrowser/renderer'
|
|
8
8
|
options = {
|
9
9
|
toolbox: true,
|
10
10
|
layout: nil,
|
11
|
-
output:
|
11
|
+
output: $stdout
|
12
12
|
}
|
13
13
|
|
14
14
|
OptionParser.new do |opts|
|
data/lib/rubrowser/connection.rb
CHANGED
data/lib/rubrowser/data.rb
CHANGED
@@ -15,14 +15,14 @@ module Rubrowser
|
|
15
15
|
def parse
|
16
16
|
parsers.each(&:parse)
|
17
17
|
|
18
|
-
@definitions ||= parsers.map(&:definitions).reduce(:+).sort{|a,b| b<=>a}.to_a
|
18
|
+
@definitions ||= parsers.map(&:definitions).reduce(:+).sort { |a, b| b <=> a }.to_a
|
19
19
|
@relations ||= parsers.map(&:relations).reduce(:+).to_a
|
20
20
|
|
21
21
|
mark_circular_dependencies
|
22
22
|
end
|
23
23
|
|
24
24
|
def parsers
|
25
|
-
@
|
25
|
+
@parsers ||= files.map do |file|
|
26
26
|
Rubrowser::Parser::Factory.build(file)
|
27
27
|
end
|
28
28
|
end
|
@@ -30,9 +30,7 @@ module Rubrowser
|
|
30
30
|
def mark_circular_dependencies
|
31
31
|
components = make_components
|
32
32
|
@definitions.each do |definition|
|
33
|
-
if components.include?(definition.namespace.first.to_s)
|
34
|
-
definition.set_circular
|
35
|
-
end
|
33
|
+
definition.set_circular if components.include?(definition.namespace.first.to_s)
|
36
34
|
end
|
37
35
|
|
38
36
|
@relations.each do |relation|
|
@@ -19,6 +19,7 @@ module Rubrowser
|
|
19
19
|
|
20
20
|
def parse
|
21
21
|
return unless valid_file?(file)
|
22
|
+
|
22
23
|
constants = constants_from_file
|
23
24
|
|
24
25
|
@definitions = constants[:definitions]
|
@@ -106,18 +107,19 @@ module Rubrowser
|
|
106
107
|
.reduce { |a, e| merge_constants(a, e) }
|
107
108
|
end
|
108
109
|
|
109
|
-
def merge_constants(
|
110
|
-
|
111
|
-
|
110
|
+
def merge_constants(const1, const2)
|
111
|
+
const1 ||= {}
|
112
|
+
const2 ||= {}
|
112
113
|
{
|
113
|
-
definitions:
|
114
|
-
relations:
|
114
|
+
definitions: const1[:definitions].to_a + const2[:definitions].to_a,
|
115
|
+
relations: const1[:relations].to_a + const2[:relations].to_a
|
115
116
|
}
|
116
117
|
end
|
117
118
|
|
118
119
|
def ast_consts_to_array(node, parents = [])
|
119
120
|
return parents unless valid_node?(node) &&
|
120
121
|
%I[const cbase].include?(node.type)
|
122
|
+
|
121
123
|
ast_consts_to_array(node.children.first, parents) + [node.children.last]
|
122
124
|
end
|
123
125
|
|
@@ -4,7 +4,7 @@ module Rubrowser
|
|
4
4
|
module Parser
|
5
5
|
module Relation
|
6
6
|
class Base
|
7
|
-
attr_reader :
|
7
|
+
attr_reader :file, :line
|
8
8
|
|
9
9
|
def initialize(namespace, caller_namespace, file: nil, line: nil)
|
10
10
|
@namespace = namespace
|
@@ -32,7 +32,7 @@ module Rubrowser
|
|
32
32
|
|
33
33
|
def resolve(definitions)
|
34
34
|
possibilities.find do |possibility|
|
35
|
-
|
35
|
+
!definitions.bsearch { |definition| definition <=> possibility }.nil?
|
36
36
|
end || possibilities.last
|
37
37
|
end
|
38
38
|
|
data/lib/rubrowser/renderer.rb
CHANGED
data/lib/rubrowser/server.rb
CHANGED
@@ -31,7 +31,7 @@ module Rubrowser
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def rack_app
|
34
|
-
@
|
34
|
+
@rack_app ||= Rack::Builder.new do
|
35
35
|
map '/' do
|
36
36
|
use LiteCable::Server::Middleware, connection_class: Connection
|
37
37
|
run(proc { |_| [200, { 'Content-Type' => 'text/plain' }, ['OK']] })
|
data/lib/rubrowser/version.rb
CHANGED
data/rubrowser.gemspec
CHANGED
@@ -11,22 +11,23 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.summary = 'A ruby interactive dependency graph visualizer'
|
12
12
|
s.description = 'A ruby interactive dependency graph visualizer'
|
13
13
|
s.license = 'MIT'
|
14
|
+
s.required_ruby_version = '>=2.5'
|
14
15
|
|
15
|
-
s.files
|
16
|
+
s.files = `git ls-files -z`.split("\x0").reject do |f|
|
16
17
|
f.match(%r{^(test|spec|features)/})
|
17
18
|
end
|
18
19
|
s.bindir = 'bin'
|
19
20
|
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
20
21
|
s.require_paths = ['lib']
|
21
22
|
|
23
|
+
s.add_runtime_dependency 'litecable'
|
22
24
|
s.add_runtime_dependency 'parser'
|
23
25
|
s.add_runtime_dependency 'puma'
|
24
|
-
s.add_runtime_dependency 'litecable'
|
25
26
|
s.add_runtime_dependency 'websocket'
|
26
27
|
|
27
28
|
s.add_development_dependency 'bundler'
|
28
|
-
s.add_development_dependency 'rake'
|
29
29
|
s.add_development_dependency 'byebug'
|
30
|
-
s.add_development_dependency '
|
30
|
+
s.add_development_dependency 'rake'
|
31
31
|
s.add_development_dependency 'rspec'
|
32
|
+
s.add_development_dependency 'rubocop'
|
32
33
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubrowser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '2.
|
4
|
+
version: '2.11'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Emad Elsaid
|
@@ -11,7 +11,7 @@ cert_chain: []
|
|
11
11
|
date: 2021-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: litecable
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: parser
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: puma
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: byebug
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rake
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: rspec
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -123,7 +123,7 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: rubocop
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
@@ -195,7 +195,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
195
195
|
requirements:
|
196
196
|
- - ">="
|
197
197
|
- !ruby/object:Gem::Version
|
198
|
-
version: '
|
198
|
+
version: '2.5'
|
199
199
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
200
200
|
requirements:
|
201
201
|
- - ">="
|