lapidarius 2.0.1 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|