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