deps_grapher 1.0.1 → 1.0.2

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: 48a2d2dd4c46e98e2283e13a37b9f692691ebab1cd8a95eba9ad4a590471c2be
4
- data.tar.gz: 9d783c9c65c71ebbd7c49f88f09b30e8e107b9690c5c82bd01160d800cf3a700
3
+ metadata.gz: 7a737245f2c63696cd2a7f5c492ddb9c049e8f8e9a3e51ee9ce897dc4fb8e593
4
+ data.tar.gz: dbb1e28028e37ef1d5127ce8e576012057b11518c7253c0dce047097aea8ad2d
5
5
  SHA512:
6
- metadata.gz: 16aab351cbb8a09355b69c6cd5b010011a7f06b1f0327867f75042d302a704f94cb0ba0fffd9ed34871eadcf0ba41bcb62a6620752c7ae3614214e9f0cdb1a0e
7
- data.tar.gz: 4cb34be594f84381ee1882ad0d7cf611a0f200ed9089d67ae6b242fab65e9d3da2a9f5df0db3131bbc41095d5e45512477eee320e93da6e41d2cb62ae7eb8bda
6
+ metadata.gz: 1e8d778b87a6c3e3ce815f2911c47fe7c636c31dc42d7000094e4c2415ab3628377eb235007641386099c07d126489d630bba7785c56318913d613706a0f58b8
7
+ data.tar.gz: f6f93769c92aaeb8111defca8a6ea1e4781ce711678c2d1e728be33c8fefbb4d6ceec8534078db6937add8942c954225da4867859357d4bc8f65cc7c81042856
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## [1.0.2] - 2024-04-03
2
+ - Use `prism` gem instead of `parser` gem (parsing process is approximately 30% faster)
3
+
1
4
  ## [1.0.1] - 2024-03-26
2
5
  - Fixed a cache issue
3
6
  - Fixed an issue that `__FILE__` or `__dir__` is nil in the configuration file
data/README.md CHANGED
@@ -5,7 +5,7 @@ A Tool to visualize Ruby class dependencies
5
5
 
6
6
  ## Description
7
7
 
8
- Deps Grapher is intended for a general understanding of class dependencies through static analysis. It uses `parser` gem.
8
+ Deps Grapher is intended for a general understanding of class dependencies through static analysis. It uses `prism` gem.
9
9
 
10
10
  Please note the following:
11
11
 
data/deps_grapher.gemspec CHANGED
@@ -31,4 +31,5 @@ Gem::Specification.new do |spec|
31
31
 
32
32
  spec.add_dependency "activesupport"
33
33
  spec.add_dependency "parser"
34
+ spec.add_dependency "prism"
34
35
  end
@@ -40,7 +40,7 @@ module DepsGrapher
40
40
 
41
41
  log do
42
42
  source_buffer = Parser::Source::Buffer.new(@file_path)
43
- parser = Parser::CurrentRuby.new
43
+ parser = Prism::Translation::Parser.new
44
44
  process parser.parse(source_buffer.read)
45
45
  end
46
46
  end
@@ -38,14 +38,14 @@ module DepsGrapher
38
38
  private
39
39
 
40
40
  def dfs(current, target_path_matcher, visited, path, paths)
41
- return if visited[current]
42
-
43
41
  visited[current] = true
44
42
 
45
43
  if target_path_matcher.match?(current.class_name)
46
44
  paths << path
47
45
  else
48
46
  @graph[current]&.each do |node|
47
+ next if visited[node]
48
+
49
49
  dfs node, target_path_matcher, visited, path + [node], paths
50
50
  end
51
51
  end
@@ -16,7 +16,7 @@ module DepsGrapher
16
16
 
17
17
  def extract!(file_path)
18
18
  source_buffer = Parser::Source::Buffer.new(file_path)
19
- parser = Parser::CurrentRuby.new
19
+ parser = Prism::Translation::Parser.new
20
20
  process parser.parse(source_buffer.read)
21
21
  end
22
22
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DepsGrapher
4
- VERSION = "1.0.1"
4
+ VERSION = "1.0.2"
5
5
  end
data/lib/deps_grapher.rb CHANGED
@@ -5,7 +5,7 @@ require "active_support"
5
5
  require "active_support/core_ext"
6
6
  require "json"
7
7
  require "fileutils"
8
- require "parser/current"
8
+ require "prism"
9
9
  require "net/https"
10
10
  require "logger"
11
11
  require "erb"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deps_grapher
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - jk-es335
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-27 00:00:00.000000000 Z
11
+ date: 2024-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: prism
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  description:
42
56
  email:
43
57
  - dev@hacomono.co.jp