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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f938fc2c5cb8331b341f25bdae60c9fe8d85c025
4
- data.tar.gz: bd1e8febede5aeff9886084ffbe8e37ef094edac
3
+ metadata.gz: 58eeed84758b653e17dd4dece9642a1e9032c978
4
+ data.tar.gz: 662b37261521434d7b35bc87e6989aa0d38dcbb1
5
5
  SHA512:
6
- metadata.gz: 44abf19bd372068a6d2b3166182a896dd1a0446d9e186ed3a4ef66a15237c940b844904b8ccf3d2daeee8869b1ee34d3e9a787e458bf15275a87333827a4fab7
7
- data.tar.gz: 143f94108ff2541f79fa30354906aacfdd65b60868af48775a1c714130ac62003c399fb264dc11f279abe8d1cd7701322e3e63090ed43d42c5c7ddf47b652a9d
6
+ metadata.gz: ad3c60b80977b55219f05e43537d5bc331cfd81e6699c3673eff2819c5fb38d2869be59634f9a0b5a7912faa69738b6e7d29e69ce84a9b60b5b48a5a5bc06dac
7
+ data.tar.gz: 883b0d6ddec910e07cbf2ab529e9c48da9214234771863c20bc38288aad423cababc6e388d64acc66fbd8697a22dcd2f73274a4ff1e5f8c7889994e22a542d3a
data/.travis.yml CHANGED
@@ -3,5 +3,5 @@ language: ruby
3
3
  rvm:
4
4
  - 2.1.8
5
5
  - 2.2.1
6
- - 2.3.1
6
+ - 2.4.1
7
7
  before_install: gem install bundler -v 1.12.5
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
- ```
@@ -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
- gem = cutter(cmd_klass).call
19
- renderer(gem).call(@io)
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
 
@@ -7,14 +7,13 @@ module Lapidarius
7
7
 
8
8
  class GemNotCreatedError < StandardError; end
9
9
 
10
- def initialize(gem:, version: nil, cmd_klass: Command)
11
- @gem = gem
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(src = cmd, gem = nil)
17
- tokens = tokenize(src)
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(cmd(dep.name), dep)
24
+ call(dep.name, dep)
26
25
  end
27
26
  gem
28
27
  end
29
28
 
30
- private def tokenize(src)
29
+ private def tokenize(name)
30
+ src = @cmd.call(name)
31
31
  data = src.split(/\n\n/).map!(&:strip)
32
- by_version(data).split("\n").tap do |tokens|
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
@@ -2,7 +2,7 @@ module Lapidarius
2
2
  class Renderer
3
3
  class NoEntGemError< ArgumentError; end
4
4
 
5
- def initialize(gem:, recursive: false)
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
- header
18
- body
17
+ collect_header
18
+ collect_body
19
19
  @out
20
20
  end
21
21
 
22
- private def header
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 body
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
@@ -17,8 +17,5 @@ module Lapidarius
17
17
  def clear!
18
18
  @io.reopen("")
19
19
  end
20
-
21
- def terminate_interaction(code = 0)
22
- end
23
20
  end
24
21
  end
@@ -1,3 +1,3 @@
1
1
  module Lapidarius
2
- VERSION = "2.0.1"
2
+ VERSION = "2.1.0"
3
3
  end
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.1
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: 2016-09-28 00:00:00.000000000 Z
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.5.1
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