rubrowser 2.10 → 2.11
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
- - ">="
|