rbfind 2.0.2 → 2.3.1
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/bin/rbfind +1 -2
- data/lib/rbfind.rb +17 -6
- data/lib/rbfind/humansiz.rb +10 -0
- data/lib/rbfind/table.rb +35 -25
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 28dcc78acea4b26243eb554d31b6df6e97e4ab0b382df6f0cc50382c5c6721cf
|
4
|
+
data.tar.gz: 8711486e4e567c6581849ac029c2f7b887f4dc707759e17ca52d7e4f45ffafa0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 928d4d2718225a08935c7590c40bd6e917cc0e520f44c657c8e9bf0d496a0b7712452408035f9355992dffb26011156cf81d5272a1e288b3f46d70bff8d8ddc2
|
7
|
+
data.tar.gz: f47260d1510f30fe4e23c42e93364366be0ffeee930a5972362a370252108ade399c81e5ec2179ab5f31fd1bba093771213f112771d567d8a1c0672b45c4b785
|
data/bin/rbfind
CHANGED
@@ -37,7 +37,6 @@ module RbFind
|
|
37
37
|
[ %w(--sort-by -s), :str, "sort expression ('n' is name)"],
|
38
38
|
[ %w(--reverse -R), :str, "reverse sort"],
|
39
39
|
[ %w(--require -r), :rb, "require library"],
|
40
|
-
[ %w(--fileutils -U), nil, "include FileUtils module"],
|
41
40
|
[ %w(--puts-path -p), nil, "do 'puts path/cpath' on true block"],
|
42
41
|
[ %w(--ls-l -P), nil, "do 'ls -l' style output on true block"],
|
43
42
|
[ %w(--wider -+), nil, "widen fields in long output format (--ls-l)"],
|
@@ -85,7 +84,6 @@ module RbFind
|
|
85
84
|
when '--sort-by' then @params[ :sort] = instance_eval "proc { |n| #{arg} }"
|
86
85
|
when '--reverse' then @params[ :reverse] = true
|
87
86
|
when '--require' then require arg
|
88
|
-
when '--fileutils' then require "fileutils" ; include FileUtils
|
89
87
|
when '--puts-path' then @puts = true
|
90
88
|
when '--ls-l' then @puts = true ; @wd = 6
|
91
89
|
when '--wider' then @wd = @wd ? @wd.succ : 4
|
@@ -371,6 +369,7 @@ module RbFind
|
|
371
369
|
alias hidden hidden?
|
372
370
|
alias visible visible?
|
373
371
|
alias broken_link broken_link?
|
372
|
+
alias broken broken?
|
374
373
|
alias dir dir?
|
375
374
|
alias binary binary?
|
376
375
|
alias bin bin?
|
data/lib/rbfind.rb
CHANGED
@@ -8,7 +8,7 @@ require "rbfind/csv"
|
|
8
8
|
|
9
9
|
module RbFind
|
10
10
|
|
11
|
-
VERSION = "2.
|
11
|
+
VERSION = "2.3.1".freeze
|
12
12
|
|
13
13
|
=begin rdoc
|
14
14
|
|
@@ -119,6 +119,8 @@ Derivated from stat:
|
|
119
119
|
csv sep, path, ... # separate by user-defined separator
|
120
120
|
|
121
121
|
rename newname # rename, but leave it in the same directory
|
122
|
+
mv newname # dto.
|
123
|
+
rm # remove
|
122
124
|
|
123
125
|
|
124
126
|
== Color support
|
@@ -374,16 +376,22 @@ Sort without case sensitivity and preceding dot:
|
|
374
376
|
begin
|
375
377
|
e.instance_eval &@block
|
376
378
|
rescue Done
|
377
|
-
|
378
|
-
|
379
|
-
|
379
|
+
end
|
380
|
+
if !(e.name.equal? @levels.last) && e.name != @levels.last then
|
381
|
+
if e.name then
|
380
382
|
e.name == (File.basename e.name) or
|
381
383
|
raise "#{self.class}: rename to `#{e.name}' may not be a path."
|
382
384
|
e.name.freeze
|
383
385
|
@levels.pop
|
384
386
|
@levels.push e.name
|
385
|
-
@path = join_path
|
387
|
+
p, @path = @path, join_path
|
386
388
|
File.rename p, @path
|
389
|
+
else
|
390
|
+
if e.dir? then
|
391
|
+
Dir.rmdir @path
|
392
|
+
else
|
393
|
+
File.unlink @path
|
394
|
+
end
|
387
395
|
end
|
388
396
|
end
|
389
397
|
true
|
@@ -511,12 +519,13 @@ Sort without case sensitivity and preceding dot:
|
|
511
519
|
def readlink ; File.readlink @path if stat.symlink? ; end
|
512
520
|
|
513
521
|
def broken_link?
|
514
|
-
return
|
522
|
+
return unless stat.symlink?
|
515
523
|
rstat
|
516
524
|
false
|
517
525
|
rescue
|
518
526
|
true
|
519
527
|
end
|
528
|
+
alias broken? broken_link?
|
520
529
|
|
521
530
|
ARROW = " -> "
|
522
531
|
def arrow
|
@@ -682,7 +691,9 @@ Sort without case sensitivity and preceding dot:
|
|
682
691
|
|
683
692
|
|
684
693
|
def rename newname ; @name = newname ; end
|
694
|
+
alias mv rename
|
685
695
|
|
696
|
+
def rm ; @name = nil ; end
|
686
697
|
|
687
698
|
|
688
699
|
def cname ; color name ; end
|
data/lib/rbfind/humansiz.rb
CHANGED
@@ -83,6 +83,16 @@ class Numeric # sizes in bytes
|
|
83
83
|
end
|
84
84
|
|
85
85
|
|
86
|
+
class Integer
|
87
|
+
def to_g
|
88
|
+
s = to_s
|
89
|
+
l = []
|
90
|
+
while (t = s.slice! /\d{1,3}\z/) do l.unshift t end
|
91
|
+
l.join "_"
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
|
86
96
|
class Numeric
|
87
97
|
"smhdw".each_char { |c|
|
88
98
|
define_method c do Time.to_sec self, c end
|
data/lib/rbfind/table.rb
CHANGED
@@ -9,18 +9,28 @@ module RbFind
|
|
9
9
|
|
10
10
|
def initialize *heads
|
11
11
|
heads.flatten!
|
12
|
-
@heads = heads
|
12
|
+
@heads = heads.map { |h|
|
13
|
+
a = case h
|
14
|
+
when />\z/ then +1
|
15
|
+
when /\^\z/ then 0
|
16
|
+
when /<?\z/ then -1
|
17
|
+
end
|
18
|
+
[ $`, a]
|
19
|
+
}
|
13
20
|
@rows = []
|
14
21
|
end
|
15
22
|
|
16
|
-
|
17
|
-
|
23
|
+
attr_reader :heads
|
24
|
+
protected :heads
|
25
|
+
def initialize_copy oth
|
26
|
+
@heads = oth.heads
|
27
|
+
@rows = []
|
18
28
|
end
|
19
29
|
|
20
30
|
def add *row
|
21
31
|
row.flatten!
|
22
32
|
n = @heads.size
|
23
|
-
row
|
33
|
+
row.map! { |r| break if n.zero? ; n -= 1 ; r.to_s }
|
24
34
|
@rows.push row
|
25
35
|
end
|
26
36
|
|
@@ -32,20 +42,24 @@ module RbFind
|
|
32
42
|
@rows.empty?
|
33
43
|
end
|
34
44
|
|
35
|
-
def output head: false
|
45
|
+
def output head: false, ifempty: nil
|
46
|
+
if empty? and ifempty then
|
47
|
+
puts ifempty
|
48
|
+
return
|
49
|
+
end
|
36
50
|
make_lines head: head do |l| puts l end
|
37
51
|
end
|
38
52
|
|
39
53
|
def make_lines head: false
|
40
54
|
rs = @rows
|
41
|
-
rs.unshift
|
55
|
+
rs.unshift @heads.map { |(h,a)| h } if head
|
42
56
|
w = calc_widths
|
43
57
|
rs.each { |r|
|
44
|
-
j = (w.zip @heads, r).map { |v,
|
45
|
-
case
|
46
|
-
when
|
47
|
-
when
|
48
|
-
when
|
58
|
+
j = (w.zip @heads, r).map { |v,(_,a),c|
|
59
|
+
case a
|
60
|
+
when -1 then c.ljust v
|
61
|
+
when 0 then c.center v
|
62
|
+
when +1 then c.rjust v
|
49
63
|
end
|
50
64
|
}
|
51
65
|
l = j.join " "
|
@@ -59,14 +73,14 @@ module RbFind
|
|
59
73
|
@html = ""
|
60
74
|
tag :table, table, nl: 2 do
|
61
75
|
tag :tr, row, nl: 1 do
|
62
|
-
|
63
|
-
tag :td,
|
76
|
+
@heads.each { |(h,a)|
|
77
|
+
tag :td, h.downcase, align: a do @html << h end
|
64
78
|
}
|
65
79
|
end
|
66
80
|
@rows.each { |r|
|
67
81
|
tag :tr, table, nl: 1 do
|
68
|
-
(@heads.zip
|
69
|
-
tag :td, g.downcase, align:
|
82
|
+
(@heads.zip r).each { |(g,a),c|
|
83
|
+
tag :td, g.downcase, align: a do @html << c end
|
70
84
|
}
|
71
85
|
end
|
72
86
|
}
|
@@ -86,13 +100,9 @@ module RbFind
|
|
86
100
|
w
|
87
101
|
end
|
88
102
|
|
89
|
-
def heads_plain
|
90
|
-
@heads.map { |h| h.sub /\W\z/, "" }
|
91
|
-
end
|
92
|
-
|
93
103
|
def tag name, cls, nl: 0, align: nil
|
94
104
|
@html << "<#{name}"
|
95
|
-
@html << " style=\"text-align: " << align << ";\"" if align
|
105
|
+
@html << " style=\"text-align: " << (html_align align) << ";\"" if align
|
96
106
|
@html << " class=\"" << cls << "\"" if cls
|
97
107
|
@html << ">"
|
98
108
|
@html << $/ if nl > 1
|
@@ -101,11 +111,11 @@ module RbFind
|
|
101
111
|
@html << $/ if nl > 0
|
102
112
|
end
|
103
113
|
|
104
|
-
def html_align
|
105
|
-
case
|
106
|
-
when
|
107
|
-
when
|
108
|
-
when
|
114
|
+
def html_align a
|
115
|
+
case a
|
116
|
+
when -1 then "left"
|
117
|
+
when 0 then "center"
|
118
|
+
when +1 then "right"
|
109
119
|
end
|
110
120
|
end
|
111
121
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbfind
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bertram Scharpf
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |
|
14
14
|
A replacement for the standard UNIX command find.
|
@@ -54,7 +54,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
54
54
|
version: '0'
|
55
55
|
requirements:
|
56
56
|
- just Ruby
|
57
|
-
rubygems_version: 3.0.
|
57
|
+
rubygems_version: 3.0.8
|
58
58
|
signing_key:
|
59
59
|
specification_version: 4
|
60
60
|
summary: Ruby replacement for the standard Unix find tool
|