rubrowser 2.7.1 → 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 +5 -5
- data/.rubocop.yml +6 -0
- data/.rubrowser +1 -1
- data/.travis.yml +2 -5
- data/Gemfile.lock +46 -38
- data/bin/rubrowser +7 -3
- data/lib/rubrowser/channel.rb +1 -1
- data/lib/rubrowser/connection.rb +2 -2
- data/lib/rubrowser/data.rb +3 -5
- data/lib/rubrowser/monitor.rb +1 -2
- data/lib/rubrowser/parser/definition/base.rb +4 -0
- data/lib/rubrowser/parser/file.rb +7 -5
- data/lib/rubrowser/parser/relation/base.rb +2 -2
- data/lib/rubrowser/renderer.rb +7 -1
- data/lib/rubrowser/server.rb +4 -5
- data/lib/rubrowser/trace.rb +1 -1
- data/lib/rubrowser/version.rb +1 -1
- data/readme.md +11 -3
- data/rubrowser.gemspec +10 -9
- metadata +26 -33
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
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
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
AllCops:
|
|
2
|
+
TargetRubyVersion: 2.5
|
|
1
3
|
Metrics/BlockLength:
|
|
2
4
|
Exclude:
|
|
3
5
|
- 'spec/**/*_spec.rb'
|
|
@@ -5,3 +7,7 @@ Style/Documentation:
|
|
|
5
7
|
Enabled: false
|
|
6
8
|
Style/FrozenStringLiteralComment:
|
|
7
9
|
Enabled: false
|
|
10
|
+
Style/GlobalVars:
|
|
11
|
+
Enabled: false
|
|
12
|
+
Metrics/BlockLength:
|
|
13
|
+
Enabled: false
|
data/.rubrowser
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"id":"Rubrowser::Data","x":905.0088057752334,"y":437.04147016200284},{"id":"Rubrowser","x":712.6220053486966,"y":770.3251873644217},{"id":"Rubrowser::
|
|
1
|
+
[{"id":"A","x":3145.151252107328,"y":1255.7202242818169},{"id":"B","x":3041.815436574058,"y":1133.5156582815155},{"id":"C","x":3199.274701857475,"y":1105.1153162475819},{"id":"ClassWithOneClassDependency","x":1557.2872222716092,"y":-43.47687773940923},{"id":"ModuleWithNoRelations","x":1306.9528557451522,"y":1102.2650375990502},{"id":"ClassWithOneIncludedMixin","x":1498.1264029065396,"y":1151.463703990889},{"id":"ClassWithOneExtendedMixin","x":1505.8925222231119,"y":1066.3427953527182},{"id":"ModuleWithOneClassDependency","x":1506.2730755201367,"y":108.22508398850451},{"id":"ClassWithNoRelations","x":1400.4239271808685,"y":-11.760907506717134},{"id":"Rubrowser::Data","x":905.0088057752334,"y":437.04147016200284},{"id":"Rubrowser","x":712.6220053486966,"y":770.3251873644217},{"id":"Rubrowser::Trace","x":197.20494882540459,"y":735.0751347963624},{"id":"Rubrowser::Monitor","x":430.7305845891392,"y":680.3256207864202},{"id":"Graph","x":1115.7752854976002,"y":436.6211350242928},{"id":"Rubrowser::Connection","x":4.873283667279907,"y":680.4067753374231},{"id":"Rubrowser::Channel","x":1366.414402671432,"y":185.96446885474367},{"id":"Rubrowser::Renderer","x":905.2158605930458,"y":560.8807631671766},{"id":"Rubrowser::Server","x":208.96464998862217,"y":631.2323207047698},{"id":"Rubrowser::Formatter::JSON","x":1114.4368770370438,"y":560.0312580369882},{"id":"Rubrowser::Formatter","x":1113.6584254066838,"y":601.6487084046246},{"id":"Rubrowser::Parser::Definition::Module","x":188.36911863082037,"y":324.35744429623855},{"id":"Rubrowser::Parser::Definition","x":-191.1839782278871,"y":318.6377197576412},{"id":"Rubrowser::Parser","x":713.688310910547,"y":660.9646559993857},{"id":"Rubrowser::Parser::Definition::Base","x":-8.218934126737395,"y":322.74585638398685},{"id":"Rubrowser::Parser::Definition::Class","x":186.15033111747857,"y":246.30753307276427},{"id":"Rubrowser::Parser::Relation::Base","x":185.12905462589924,"y":402.5519743127113},{"id":"Rubrowser::Parser::Relation","x":187.0097719718301,"y":461.8654698954514},{"id":"Rubrowser::Parser::Factory","x":788.0050388528484,"y":325.70343641742613},{"id":"Rubrowser::Parser::File::Builder","x":506.8969046429671,"y":189.48025894394402},{"id":"Rubrowser::Parser::File","x":505.82216034587793,"y":322.6733725221146},{"id":"Rubrowser::Parser::Directory","x":786.9998045114313,"y":239.74214301898786}]
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,63 +1,71 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
rubrowser (2.
|
|
4
|
+
rubrowser (2.11)
|
|
5
5
|
litecable
|
|
6
|
-
parser
|
|
6
|
+
parser
|
|
7
7
|
puma
|
|
8
8
|
websocket
|
|
9
9
|
|
|
10
10
|
GEM
|
|
11
11
|
remote: https://rubygems.org/
|
|
12
12
|
specs:
|
|
13
|
-
anyway_config (1.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
rspec-
|
|
33
|
-
|
|
13
|
+
anyway_config (2.1.0)
|
|
14
|
+
ruby-next-core (>= 0.11.0)
|
|
15
|
+
ast (2.4.2)
|
|
16
|
+
byebug (11.1.3)
|
|
17
|
+
diff-lcs (1.4.4)
|
|
18
|
+
litecable (0.7.1)
|
|
19
|
+
anyway_config (>= 1.0)
|
|
20
|
+
nio4r (2.5.7)
|
|
21
|
+
parallel (1.20.1)
|
|
22
|
+
parser (3.0.1.0)
|
|
23
|
+
ast (~> 2.4.1)
|
|
24
|
+
puma (5.2.2)
|
|
25
|
+
nio4r (~> 2.0)
|
|
26
|
+
rainbow (3.0.0)
|
|
27
|
+
rake (13.0.3)
|
|
28
|
+
regexp_parser (2.1.1)
|
|
29
|
+
rexml (3.2.5)
|
|
30
|
+
rspec (3.10.0)
|
|
31
|
+
rspec-core (~> 3.10.0)
|
|
32
|
+
rspec-expectations (~> 3.10.0)
|
|
33
|
+
rspec-mocks (~> 3.10.0)
|
|
34
|
+
rspec-core (3.10.1)
|
|
35
|
+
rspec-support (~> 3.10.0)
|
|
36
|
+
rspec-expectations (3.10.1)
|
|
34
37
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
35
|
-
rspec-support (~> 3.
|
|
36
|
-
rspec-mocks (3.
|
|
38
|
+
rspec-support (~> 3.10.0)
|
|
39
|
+
rspec-mocks (3.10.2)
|
|
37
40
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
38
|
-
rspec-support (~> 3.
|
|
39
|
-
rspec-support (3.
|
|
40
|
-
rubocop (
|
|
41
|
+
rspec-support (~> 3.10.0)
|
|
42
|
+
rspec-support (3.10.2)
|
|
43
|
+
rubocop (1.13.0)
|
|
41
44
|
parallel (~> 1.10)
|
|
42
|
-
parser (>=
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
parser (>= 3.0.0.0)
|
|
46
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
47
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
48
|
+
rexml
|
|
49
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
|
45
50
|
ruby-progressbar (~> 1.7)
|
|
46
|
-
unicode-display_width (
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
52
|
+
rubocop-ast (1.4.1)
|
|
53
|
+
parser (>= 2.7.1.5)
|
|
54
|
+
ruby-next-core (0.12.0)
|
|
55
|
+
ruby-progressbar (1.11.0)
|
|
56
|
+
unicode-display_width (2.0.0)
|
|
57
|
+
websocket (1.2.9)
|
|
50
58
|
|
|
51
59
|
PLATFORMS
|
|
52
60
|
ruby
|
|
53
61
|
|
|
54
62
|
DEPENDENCIES
|
|
55
|
-
bundler
|
|
63
|
+
bundler
|
|
56
64
|
byebug
|
|
57
|
-
rake
|
|
65
|
+
rake
|
|
58
66
|
rspec
|
|
59
67
|
rubocop
|
|
60
68
|
rubrowser!
|
|
61
69
|
|
|
62
70
|
BUNDLED WITH
|
|
63
|
-
|
|
71
|
+
2.2.16
|
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,11 +8,11 @@ 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|
|
|
15
|
-
opts.banner = "Usage: #{__FILE__} [options] [file] ..."
|
|
15
|
+
opts.banner = "Usage: #{File.basename(__FILE__)} [options] [file] ..."
|
|
16
16
|
|
|
17
17
|
opts.on(
|
|
18
18
|
'-oFILE',
|
|
@@ -36,6 +36,10 @@ OptionParser.new do |opts|
|
|
|
36
36
|
options[:toolbox] = false
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
+
opts.on('-j', '--json', 'Do export data as JSON instead of HTML') do
|
|
40
|
+
options[:json] = true
|
|
41
|
+
end
|
|
42
|
+
|
|
39
43
|
opts.on('-v', '--version', 'Print Rubrowser version') do
|
|
40
44
|
puts "Rubrowser #{Rubrowser::VERSION}"
|
|
41
45
|
exit
|
data/lib/rubrowser/channel.rb
CHANGED
data/lib/rubrowser/connection.rb
CHANGED
|
@@ -5,12 +5,12 @@ module Rubrowser
|
|
|
5
5
|
identified_by :id
|
|
6
6
|
|
|
7
7
|
def connect
|
|
8
|
-
@id = rand(
|
|
8
|
+
@id = rand(100_000)
|
|
9
9
|
self.class.initiate_reader
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def self.initiate_reader
|
|
13
|
-
@
|
|
13
|
+
@initiate_reader ||= Thread.new do
|
|
14
14
|
$rd.each_line do |line|
|
|
15
15
|
LiteCable.broadcast('classes', message: line.strip)
|
|
16
16
|
end
|
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(:+).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|
|
data/lib/rubrowser/monitor.rb
CHANGED
|
@@ -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
|
-
definitions.
|
|
35
|
+
!definitions.bsearch { |definition| definition <=> possibility }.nil?
|
|
36
36
|
end || possibilities.last
|
|
37
37
|
end
|
|
38
38
|
|
data/lib/rubrowser/renderer.rb
CHANGED
|
@@ -12,7 +12,11 @@ module Rubrowser
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def call
|
|
15
|
-
|
|
15
|
+
if @json
|
|
16
|
+
output.write(data)
|
|
17
|
+
else
|
|
18
|
+
output.write(erb(:index))
|
|
19
|
+
end
|
|
16
20
|
end
|
|
17
21
|
|
|
18
22
|
private
|
|
@@ -27,6 +31,7 @@ module Rubrowser
|
|
|
27
31
|
@server = options[:server]
|
|
28
32
|
@files = options[:files]
|
|
29
33
|
@toolbox = options[:toolbox]
|
|
34
|
+
@json = !!options[:json]
|
|
30
35
|
end
|
|
31
36
|
|
|
32
37
|
def output_file(path)
|
|
@@ -35,6 +40,7 @@ module Rubrowser
|
|
|
35
40
|
|
|
36
41
|
def layout
|
|
37
42
|
return 'null' unless @layout
|
|
43
|
+
|
|
38
44
|
File.read(@layout)
|
|
39
45
|
end
|
|
40
46
|
|
data/lib/rubrowser/server.rb
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
require 'lite_cable'
|
|
2
2
|
require 'lite_cable/server'
|
|
3
|
-
require 'puma
|
|
4
|
-
require 'puma/launcher'
|
|
3
|
+
require 'puma'
|
|
5
4
|
require 'rubrowser/connection'
|
|
6
5
|
|
|
7
6
|
module Rubrowser
|
|
@@ -32,10 +31,10 @@ module Rubrowser
|
|
|
32
31
|
end
|
|
33
32
|
|
|
34
33
|
def rack_app
|
|
35
|
-
@
|
|
34
|
+
@rack_app ||= Rack::Builder.new do
|
|
36
35
|
map '/' do
|
|
37
|
-
use LiteCable::Server::Middleware, connection_class:
|
|
38
|
-
run
|
|
36
|
+
use LiteCable::Server::Middleware, connection_class: Connection
|
|
37
|
+
run(proc { |_| [200, { 'Content-Type' => 'text/plain' }, ['OK']] })
|
|
39
38
|
end
|
|
40
39
|
end
|
|
41
40
|
end
|
data/lib/rubrowser/trace.rb
CHANGED
data/lib/rubrowser/version.rb
CHANGED
data/readme.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Rubrowser
|
|
1
|
+
# Rubrowser (Ruby Browser)
|
|
2
2
|
|
|
3
3
|
[](https://badge.fury.io/rb/rubrowser)
|
|
4
4
|
[](https://travis-ci.org/emad-elsaid/rubrowser)
|
|
@@ -17,7 +17,7 @@ documentation
|
|
|
17
17
|
|
|
18
18
|
this project is so small that the visualization looks like so
|
|
19
19
|
|
|
20
|
-

|
|
21
21
|
|
|
22
22
|
the idea is that the project opens every `.rb` file and parse it with `parser`
|
|
23
23
|
gem then list all modules and classes definitions, and all constants that are
|
|
@@ -51,11 +51,12 @@ gem install rubrowser
|
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
```
|
|
54
|
-
Usage:
|
|
54
|
+
Usage: rubrowser [options] [file] ...
|
|
55
55
|
-o, --output=FILE output file page, if not specified output will be written to stdout
|
|
56
56
|
-l, --layout=FILE layout file to apply on the resulting graph
|
|
57
57
|
-s, --server=SERVER:PORT rubrowser server for execution monitoring
|
|
58
58
|
-T, --no-toolbox Don't display toolbox on the page
|
|
59
|
+
-j, --json Do export data as JSON instead of HTML
|
|
59
60
|
-v, --version Print Rubrowser version
|
|
60
61
|
-h, --help Prints this help
|
|
61
62
|
```
|
|
@@ -119,6 +120,13 @@ rubrowser -l .rubrowser
|
|
|
119
120
|
So that in the future probably rubrowser can pick the file automatically, if you
|
|
120
121
|
follow that naming, your project will be ready in that case.
|
|
121
122
|
|
|
123
|
+
## Export data for use in external tools
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
rubrowser -j|jq '.'
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
|
|
122
130
|
## Features
|
|
123
131
|
|
|
124
132
|
* trace your execution in realtime on the graph
|
data/rubrowser.gemspec
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
lib = File.expand_path('
|
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
require 'rubrowser/version'
|
|
4
4
|
|
|
@@ -6,27 +6,28 @@ Gem::Specification.new do |s|
|
|
|
6
6
|
s.name = 'rubrowser'
|
|
7
7
|
s.version = Rubrowser::VERSION
|
|
8
8
|
s.authors = ['Emad Elsaid']
|
|
9
|
-
s.email = ['
|
|
10
|
-
s.homepage = 'https://github.com/
|
|
9
|
+
s.email = ['emad.elsaid.hamed@gmail.com']
|
|
10
|
+
s.homepage = 'https://github.com/emad-elsaid/rubrowser'
|
|
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
|
|
|
22
|
-
s.add_runtime_dependency 'parser', '~> 2.3', '>= 2.3.0'
|
|
23
|
-
s.add_runtime_dependency 'puma'
|
|
24
23
|
s.add_runtime_dependency 'litecable'
|
|
24
|
+
s.add_runtime_dependency 'parser'
|
|
25
|
+
s.add_runtime_dependency 'puma'
|
|
25
26
|
s.add_runtime_dependency 'websocket'
|
|
26
27
|
|
|
27
|
-
s.add_development_dependency 'bundler'
|
|
28
|
-
s.add_development_dependency 'rake', '~> 10.0'
|
|
28
|
+
s.add_development_dependency 'bundler'
|
|
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,37 +1,31 @@
|
|
|
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
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
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
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '2.3'
|
|
20
17
|
- - ">="
|
|
21
18
|
- !ruby/object:Gem::Version
|
|
22
|
-
version:
|
|
19
|
+
version: '0'
|
|
23
20
|
type: :runtime
|
|
24
21
|
prerelease: false
|
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
23
|
requirements:
|
|
27
|
-
- - "~>"
|
|
28
|
-
- !ruby/object:Gem::Version
|
|
29
|
-
version: '2.3'
|
|
30
24
|
- - ">="
|
|
31
25
|
- !ruby/object:Gem::Version
|
|
32
|
-
version:
|
|
26
|
+
version: '0'
|
|
33
27
|
- !ruby/object:Gem::Dependency
|
|
34
|
-
name:
|
|
28
|
+
name: parser
|
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
|
36
30
|
requirements:
|
|
37
31
|
- - ">="
|
|
@@ -45,7 +39,7 @@ dependencies:
|
|
|
45
39
|
- !ruby/object:Gem::Version
|
|
46
40
|
version: '0'
|
|
47
41
|
- !ruby/object:Gem::Dependency
|
|
48
|
-
name:
|
|
42
|
+
name: puma
|
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
|
50
44
|
requirements:
|
|
51
45
|
- - ">="
|
|
@@ -76,32 +70,32 @@ dependencies:
|
|
|
76
70
|
name: bundler
|
|
77
71
|
requirement: !ruby/object:Gem::Requirement
|
|
78
72
|
requirements:
|
|
79
|
-
- - "
|
|
73
|
+
- - ">="
|
|
80
74
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '
|
|
75
|
+
version: '0'
|
|
82
76
|
type: :development
|
|
83
77
|
prerelease: false
|
|
84
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
79
|
requirements:
|
|
86
|
-
- - "
|
|
80
|
+
- - ">="
|
|
87
81
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: '
|
|
82
|
+
version: '0'
|
|
89
83
|
- !ruby/object:Gem::Dependency
|
|
90
|
-
name:
|
|
84
|
+
name: byebug
|
|
91
85
|
requirement: !ruby/object:Gem::Requirement
|
|
92
86
|
requirements:
|
|
93
|
-
- - "
|
|
87
|
+
- - ">="
|
|
94
88
|
- !ruby/object:Gem::Version
|
|
95
|
-
version: '
|
|
89
|
+
version: '0'
|
|
96
90
|
type: :development
|
|
97
91
|
prerelease: false
|
|
98
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
99
93
|
requirements:
|
|
100
|
-
- - "
|
|
94
|
+
- - ">="
|
|
101
95
|
- !ruby/object:Gem::Version
|
|
102
|
-
version: '
|
|
96
|
+
version: '0'
|
|
103
97
|
- !ruby/object:Gem::Dependency
|
|
104
|
-
name:
|
|
98
|
+
name: rake
|
|
105
99
|
requirement: !ruby/object:Gem::Requirement
|
|
106
100
|
requirements:
|
|
107
101
|
- - ">="
|
|
@@ -115,7 +109,7 @@ dependencies:
|
|
|
115
109
|
- !ruby/object:Gem::Version
|
|
116
110
|
version: '0'
|
|
117
111
|
- !ruby/object:Gem::Dependency
|
|
118
|
-
name:
|
|
112
|
+
name: rspec
|
|
119
113
|
requirement: !ruby/object:Gem::Requirement
|
|
120
114
|
requirements:
|
|
121
115
|
- - ">="
|
|
@@ -129,7 +123,7 @@ dependencies:
|
|
|
129
123
|
- !ruby/object:Gem::Version
|
|
130
124
|
version: '0'
|
|
131
125
|
- !ruby/object:Gem::Dependency
|
|
132
|
-
name:
|
|
126
|
+
name: rubocop
|
|
133
127
|
requirement: !ruby/object:Gem::Requirement
|
|
134
128
|
requirements:
|
|
135
129
|
- - ">="
|
|
@@ -144,7 +138,7 @@ dependencies:
|
|
|
144
138
|
version: '0'
|
|
145
139
|
description: A ruby interactive dependency graph visualizer
|
|
146
140
|
email:
|
|
147
|
-
-
|
|
141
|
+
- emad.elsaid.hamed@gmail.com
|
|
148
142
|
executables:
|
|
149
143
|
- rubrowser
|
|
150
144
|
extensions: []
|
|
@@ -189,11 +183,11 @@ files:
|
|
|
189
183
|
- rubrowser.gemspec
|
|
190
184
|
- views/index.erb
|
|
191
185
|
- views/toolbox.erb
|
|
192
|
-
homepage: https://github.com/
|
|
186
|
+
homepage: https://github.com/emad-elsaid/rubrowser
|
|
193
187
|
licenses:
|
|
194
188
|
- MIT
|
|
195
189
|
metadata: {}
|
|
196
|
-
post_install_message:
|
|
190
|
+
post_install_message:
|
|
197
191
|
rdoc_options: []
|
|
198
192
|
require_paths:
|
|
199
193
|
- lib
|
|
@@ -201,16 +195,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
201
195
|
requirements:
|
|
202
196
|
- - ">="
|
|
203
197
|
- !ruby/object:Gem::Version
|
|
204
|
-
version: '
|
|
198
|
+
version: '2.5'
|
|
205
199
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
206
200
|
requirements:
|
|
207
201
|
- - ">="
|
|
208
202
|
- !ruby/object:Gem::Version
|
|
209
203
|
version: '0'
|
|
210
204
|
requirements: []
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
signing_key:
|
|
205
|
+
rubygems_version: 3.1.2
|
|
206
|
+
signing_key:
|
|
214
207
|
specification_version: 4
|
|
215
208
|
summary: A ruby interactive dependency graph visualizer
|
|
216
209
|
test_files: []
|