rubrowser 2.10 → 2.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c46aa99d8a0d5732fc544caf791cb56bd9ff618116f11d561eac0f41be588724
4
- data.tar.gz: 5886af6d77a53e74e2b278cd2c114c8e81e7b54061056dfef824945646e670ee
3
+ metadata.gz: 14f3825970f46217df0193e3425f012e3ec93847e7a36c5ae4fe8668655e74e9
4
+ data.tar.gz: 3b3659e25fc28e75af88ebbebfde7f9510caa1f79bc994e4cc01c4d90101e215
5
5
  SHA512:
6
- metadata.gz: a50e26cc079557c517adff17d0b4c680ebc9ce0a1d1f46dfbd61c9bae84e1e0957e25d1b7124255154051981ab74b36878fcb769c266254a549359f6ca799c6b
7
- data.tar.gz: 21b22f8458af0f16e19fa391a7d99b9e5a50c4fb8a049d38c0a80f677ec70862b0f715c6ccf7844ab6eb2ff8f104df7e7be21baa7551714aefb860b6a0ea4f82
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'
data/.travis.yml CHANGED
@@ -1,6 +1,5 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2
4
- - 2.3
5
- - 2.4
6
3
  - 2.5
4
+ - 2.6
5
+ - 2.7
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rubrowser (2.10)
4
+ rubrowser (2.11)
5
5
  litecable
6
6
  parser
7
7
  puma
@@ -68,4 +68,4 @@ DEPENDENCIES
68
68
  rubrowser!
69
69
 
70
70
  BUNDLED WITH
71
- 2.1.4
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('../../lib', __FILE__)
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: STDOUT
11
+ output: $stdout
12
12
  }
13
13
 
14
14
  OptionParser.new do |opts|
@@ -10,7 +10,7 @@ module Rubrowser
10
10
  end
11
11
 
12
12
  def self.initiate_reader
13
- @reader ||= Thread.new do
13
+ @initiate_reader ||= Thread.new do
14
14
  $rd.each_line do |line|
15
15
  LiteCable.broadcast('classes', message: line.strip)
16
16
  end
@@ -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
- @_parsers ||= files.map do |file|
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(c1, c2)
110
- c1 ||= {}
111
- c2 ||= {}
110
+ def merge_constants(const1, const2)
111
+ const1 ||= {}
112
+ const2 ||= {}
112
113
  {
113
- definitions: c1[:definitions].to_a + c2[:definitions].to_a,
114
- relations: c1[:relations].to_a + c2[:relations].to_a
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 :namespace, :caller_namespace, :file, :line
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.bsearch { |definition| definition <=> possibility }
35
+ !definitions.bsearch { |definition| definition <=> possibility }.nil?
36
36
  end || possibilities.last
37
37
  end
38
38
 
@@ -40,6 +40,7 @@ module Rubrowser
40
40
 
41
41
  def layout
42
42
  return 'null' unless @layout
43
+
43
44
  File.read(@layout)
44
45
  end
45
46
 
@@ -31,7 +31,7 @@ module Rubrowser
31
31
  end
32
32
 
33
33
  def rack_app
34
- @app ||= Rack::Builder.new do
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']] })
@@ -1,3 +1,3 @@
1
1
  module Rubrowser
2
- VERSION = '2.10'.freeze
2
+ VERSION = '2.11'.freeze
3
3
  end
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 = `git ls-files -z`.split("\x0").reject do |f|
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 'rubocop'
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.10'
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: parser
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: puma
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: litecable
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: rake
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: byebug
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: rubocop
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: rspec
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: '0'
198
+ version: '2.5'
199
199
  required_rubygems_version: !ruby/object:Gem::Requirement
200
200
  requirements:
201
201
  - - ">="