hiiro 0.1.130 → 0.1.131

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: 9ee15221ef5fd0d6dd334387e083049fc53cec41df755c270451f1329e63804a
4
- data.tar.gz: 89df78fc18b86391dced6ec9e7f1dbb597f6f6549a3c627cc5b2898c2dd23b94
3
+ metadata.gz: a775d5adf72d8f85a83d33d56b1aa84aeb71848fab3b2188c7713bfca55ab52f
4
+ data.tar.gz: '019e992dd66ca7928b305fa6cb46119dadf8901687c8f9949a516661f97c2093'
5
5
  SHA512:
6
- metadata.gz: 6e043a980f853c53b429500047fc872092e21488a45ad9bfd1cdf64b4fab56d1513423cfe7af061988c468cb10272935cca9ceadad059d972c03c1ba51c152d0
7
- data.tar.gz: 3abc9a1acfd9ff38060b6d8c01accae3efa5cea58113b8f0b1378b1270054b0e95543797400b9c89a5ed941c40679ab51299b447e86ccdf676189f561fb8dae6
6
+ metadata.gz: 9f67f1653c20ac52025ea98d0db8eb730b75e96c6a01329035944b7a6e00bce97cbd24055a32e98806304a6a0b6759821a3a34333fdc6c7455f507dcfc7bfcc0
7
+ data.tar.gz: 2d590bd813eca7c21cf192125aa134011d74b0085351a050d7bcdcaab74e8f0bd4519de88d620dd1f93f8634a6d751d7bfb1c9600917781a0053f86a84ad9571
data/bin/h-misc CHANGED
@@ -1,27 +1,29 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'hiiro'
4
+ require 'awesome_print'
4
5
 
5
6
  Hiiro.run {
6
- add_subcmd(:symlinks) do |*args|
7
+ add_subcmd(:symlink_destinations) do |*args|
7
8
  opts = Hiiro::Options.parse(args) do
8
9
  option(:root, short: :r, desc: 'root path')
9
10
  end
10
11
 
11
12
  pwd = Hiiro::Paths.new(Dir.pwd)
12
- outside_basedir = opts.args.inject({}) do |h,basedir|
13
+ outside = Hash.new { |h,k| h[k] = [] }
14
+
15
+ opts.args.each_with_object(outside) do |basedir,h|
13
16
  symlinks = pwd.symlinks_in(basedir)
14
17
 
15
- outside_dir = symlinks
16
- .reject{|l| l.dest_in_dir?(basedir) }
17
- .tap do |outside|
18
- outside.each do |link,dest|
19
- puts
20
- puts "LINK: #{link}"
21
- puts "DEST: #{dest}"
22
- puts "is outside => #{real_base}"
23
- end
24
- end
18
+ outside[basedir] = symlinks.reject{|l| l.dest_in_dir?(basedir) }
19
+ end
20
+
21
+ outside.each do |base, links|
22
+ puts "# symlinks outside of => #{base}"
23
+ dest_width = links.map{|l| l.dest.to_s.length }.max
24
+ links.each do |link|
25
+ printf("%-*s # => %s\n", dest_width, link.dest, link.path)
26
+ end
25
27
  end
26
28
  end
27
29
  }
data/lib/hiiro/paths.rb CHANGED
@@ -33,6 +33,10 @@ class Hiiro
33
33
  path.readlink
34
34
  end
35
35
 
36
+ def dest_dir
37
+ path.directory? ? path : path.dirname
38
+ end
39
+
36
40
  def dest_in_dir?(dir)
37
41
  dir = Pathname.new(dir)
38
42
 
data/lib/hiiro/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Hiiro
2
- VERSION = "0.1.130"
2
+ VERSION = "0.1.131"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiiro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.130
4
+ version: 0.1.131
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Toyota