lapidarius 2.0.1 → 2.1.0
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 +4 -4
- data/.travis.yml +1 -1
- data/README.md +0 -12
- data/lib/lapidarius/cli.rb +2 -15
- data/lib/lapidarius/cutter.rb +8 -16
- data/lib/lapidarius/renderer.rb +5 -5
- data/lib/lapidarius/ui.rb +0 -3
- data/lib/lapidarius/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58eeed84758b653e17dd4dece9642a1e9032c978
|
4
|
+
data.tar.gz: 662b37261521434d7b35bc87e6989aa0d38dcbb1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad3c60b80977b55219f05e43537d5bc331cfd81e6699c3673eff2819c5fb38d2869be59634f9a0b5a7912faa69738b6e7d29e69ce84a9b60b5b48a5a5bc06dac
|
7
|
+
data.tar.gz: 883b0d6ddec910e07cbf2ab529e9c48da9214234771863c20bc38288aad423cababc6e388d64acc66fbd8697a22dcd2f73274a4ff1e5f8c7889994e22a542d3a
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
* [Warning](#warning)
|
9
9
|
* [Unique dependencies](#unique-dependencies)
|
10
10
|
* [Recursive print](#recursive-print)
|
11
|
-
* [Filter by version](#filter-by-version)
|
12
11
|
|
13
12
|
## Scope
|
14
13
|
This gem is aimed to list recursively the **runtime dependencies** footprint of the specified gem.
|
@@ -72,14 +71,3 @@ rack-protection (~> 1.4)
|
|
72
71
|
tilt (< 3, >= 1.3)
|
73
72
|
|
74
73
|
```
|
75
|
-
|
76
|
-
### Filter by version
|
77
|
-
If you have multiple versions of the same gem installed, the library will fetch the first one listed by default.
|
78
|
-
To specify the version of the gem to be scanned provide the *--version* flag:
|
79
|
-
```
|
80
|
-
$ lapidarius --gem=rack --version=2.0.1
|
81
|
-
|
82
|
-
rack (2.0.1) 0
|
83
|
-
------------------------------
|
84
|
-
|
85
|
-
```
|
data/lib/lapidarius/cli.rb
CHANGED
@@ -8,15 +8,14 @@ module Lapidarius
|
|
8
8
|
@args = args
|
9
9
|
@io = io
|
10
10
|
@gem = nil
|
11
|
-
@version = nil
|
12
11
|
@recursive = nil
|
13
12
|
end
|
14
13
|
|
15
14
|
def call(cmd_klass = Command)
|
16
15
|
parser.parse!(@args)
|
17
16
|
return @io.puts("specify gem name as: '-g gem_name'") unless @gem
|
18
|
-
|
19
|
-
|
17
|
+
obj = Lapidarius::Cutter.new(@gem, cmd_klass).call
|
18
|
+
Lapidarius::Renderer::new(obj, @recursive).call(@io)
|
20
19
|
rescue Gem::NotInstalledError => e
|
21
20
|
@io.puts e.message.sub("specified", @gem)
|
22
21
|
end
|
@@ -29,10 +28,6 @@ module Lapidarius
|
|
29
28
|
@gem = gem
|
30
29
|
end
|
31
30
|
|
32
|
-
opts.on("-vVERSION", "--version=VERSION", "Specify the gem version") do |version|
|
33
|
-
@version = version
|
34
|
-
end
|
35
|
-
|
36
31
|
opts.on("-r", "--recursive", "Print dependencies recursively") do |recursive|
|
37
32
|
@recursive = recursive
|
38
33
|
end
|
@@ -43,14 +38,6 @@ module Lapidarius
|
|
43
38
|
end
|
44
39
|
end
|
45
40
|
end
|
46
|
-
|
47
|
-
private def cutter(cmd_klass)
|
48
|
-
@cutter = Lapidarius::Cutter.new(gem: @gem, version: @version, cmd_klass: cmd_klass)
|
49
|
-
end
|
50
|
-
|
51
|
-
private def renderer(gem)
|
52
|
-
Lapidarius::Renderer::new(gem: gem, recursive: @recursive)
|
53
|
-
end
|
54
41
|
end
|
55
42
|
end
|
56
43
|
|
data/lib/lapidarius/cutter.rb
CHANGED
@@ -7,14 +7,13 @@ module Lapidarius
|
|
7
7
|
|
8
8
|
class GemNotCreatedError < StandardError; end
|
9
9
|
|
10
|
-
def initialize(
|
11
|
-
@
|
12
|
-
@version = version
|
10
|
+
def initialize(name, cmd_klass = Command)
|
11
|
+
@name = name
|
13
12
|
@cmd = cmd_klass.new
|
14
13
|
end
|
15
14
|
|
16
|
-
def call(
|
17
|
-
tokens = tokenize(
|
15
|
+
def call(name = @name, gem = nil)
|
16
|
+
tokens = tokenize(name)
|
18
17
|
token = tokens.shift
|
19
18
|
gem ||= Gem.factory(token)
|
20
19
|
fail GemNotCreatedError, "unable to create a gem from #{token}" unless gem
|
@@ -22,25 +21,18 @@ module Lapidarius
|
|
22
21
|
dep = Gem.factory(t)
|
23
22
|
next unless dep
|
24
23
|
gem << dep
|
25
|
-
call(
|
24
|
+
call(dep.name, dep)
|
26
25
|
end
|
27
26
|
gem
|
28
27
|
end
|
29
28
|
|
30
|
-
private def tokenize(
|
29
|
+
private def tokenize(name)
|
30
|
+
src = @cmd.call(name)
|
31
31
|
data = src.split(/\n\n/).map!(&:strip)
|
32
|
-
|
32
|
+
data.first.split("\n").tap do |tokens|
|
33
33
|
tokens.map!(&:strip)
|
34
34
|
tokens.reject! { |token| token.match(/#{DEVELOPMENT}/) }
|
35
35
|
end
|
36
36
|
end
|
37
|
-
|
38
|
-
private def by_version(data)
|
39
|
-
data.detect { |d| d.match(/^Gem #{@gem}-#{@version}/) } || data.first
|
40
|
-
end
|
41
|
-
|
42
|
-
private def cmd(gem = @gem)
|
43
|
-
@cmd.call(gem)
|
44
|
-
end
|
45
37
|
end
|
46
38
|
end
|
data/lib/lapidarius/renderer.rb
CHANGED
@@ -2,7 +2,7 @@ module Lapidarius
|
|
2
2
|
class Renderer
|
3
3
|
class NoEntGemError< ArgumentError; end
|
4
4
|
|
5
|
-
def initialize(gem
|
5
|
+
def initialize(gem, recursive = false)
|
6
6
|
fail NoEntGemError, "gem not found on this system!" unless gem
|
7
7
|
@gem = gem
|
8
8
|
@recursive = recursive
|
@@ -14,17 +14,17 @@ module Lapidarius
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def out
|
17
|
-
|
18
|
-
|
17
|
+
collect_header
|
18
|
+
collect_body
|
19
19
|
@out
|
20
20
|
end
|
21
21
|
|
22
|
-
private def
|
22
|
+
private def collect_header
|
23
23
|
@out << ("\n#{@gem.fullname}".ljust(28) << "#{@gem.deep_count}".rjust(3))
|
24
24
|
@out << hr
|
25
25
|
end
|
26
26
|
|
27
|
-
private def
|
27
|
+
private def collect_body
|
28
28
|
return if @gem.deps.empty?
|
29
29
|
@gem.deps.each do |dep|
|
30
30
|
@out << dep.to_s(recursive: @recursive)
|
data/lib/lapidarius/ui.rb
CHANGED
data/lib/lapidarius/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lapidarius
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- costajob
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -97,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
97
|
version: '0'
|
98
98
|
requirements: []
|
99
99
|
rubyforge_project:
|
100
|
-
rubygems_version: 2.
|
100
|
+
rubygems_version: 2.6.11
|
101
101
|
signing_key:
|
102
102
|
specification_version: 4
|
103
103
|
summary: A tiny library to visualize and count gem dependencies recursively
|