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 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
  - - ">="