rbfind 1.11 → 1.12

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rbfind.rb +11 -25
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b687941a0ed418599c3f32451afdf5bcaba86f7df68286396409f48446ca740
4
- data.tar.gz: e513a7092e68bae9f88fa83c8be96dcd58b52ef7baf425a7fa49814858e1888a
3
+ metadata.gz: 1a5b34b291fdb3dcfd8ee289b1885bbd0ff848a3f46192f0ffdd174b19d6542f
4
+ data.tar.gz: 66be0c062a8d7d00d42f5535c3aefa958676ffaacfb6f50e0d3d0f90eb9aeaa5
5
5
  SHA512:
6
- metadata.gz: 1eafac28ac55651614b926b83fa129087891ca43a14ec1c3217f522799d0e722a8b7381257a04355f1dd497cb62f63823f577fe3a01d878848cd0c834e751a03
7
- data.tar.gz: 0a87bc6a2be21912f2015e5b7f540c6b941df33224ac30f9be33783f2d6108092b862137403b360c4f9816d11e2086b03ae757528871029d3a50221cb45f1e7c
6
+ metadata.gz: 986974e1493ece3aac8896a8c262412bbf2e14687d6ff0f39647d4b1f7c324fbd7f263598049883b631c6bccc137cee982de52c5d170a9454c143738a7ee4a95
7
+ data.tar.gz: d477bafd992ed7387d7cc4614a55650576f0414bab2fdcfc77981cbf69ca1b9eb068252fcbe75dda520fc2b6989b040c2face8d9d1c258f1f9a728178156ac1e
@@ -2,23 +2,12 @@
2
2
  # rbfind.rb -- Find replacement with many features
3
3
  #
4
4
 
5
- # :stopdoc:
6
- unless String.public_method_defined? :ord then
7
- class String ; def ord ; self[0].ord ; end ; end
8
- end
9
- # :startdoc:
10
-
11
5
  class Dir
12
6
 
13
7
  SPECIAL_DIRS = %w(. ..)
14
8
  CUR_DIR, SUPER_DIR = *SPECIAL_DIRS
15
9
 
16
- # :call-seq:
17
- # each!() { |e| ... } -> self
18
- #
19
- # Call block for all entries except "." and "..".
20
- #
21
- def each!
10
+ method_defined? :each_child or def each_child
22
11
  s = SPECIAL_DIRS.dup
23
12
  each { |f|
24
13
  next if s.delete f
@@ -26,12 +15,7 @@ class Dir
26
15
  }
27
16
  end
28
17
 
29
- # :call-seq:
30
- # entries!() -> ary
31
- #
32
- # All entries except "." and "..".
33
- #
34
- method_defined? :entries! or def entries!
18
+ method_defined? :children or def children
35
19
  entries - SPECIAL_DIRS
36
20
  end
37
21
 
@@ -39,7 +23,8 @@ end
39
23
 
40
24
  class File
41
25
  class Stat
42
- def same? oth
26
+ def identical? oth
27
+ oth = self.class.new oth unless self.class === oth
43
28
  dev == oth.dev and ino == oth.ino
44
29
  end
45
30
  end
@@ -213,7 +198,7 @@ Ruby raises an ArgumentError if, for example, an ISO8859-1-encoded
213
198
  string gets read in as UTF-8-encoded and then is matched against a
214
199
  UTF-8-encoded regular expression. This will happen if you are
215
200
  running RbFind from an environment with something like
216
- LC_ALL="de_DE.UTF-8" and if you are searching directories containing
201
+ LANG="de_DE.UTF-8" and if you are searching directories containing
217
202
  single-byte encoded file names or files with single-byte or binary
218
203
  content.
219
204
 
@@ -284,7 +269,7 @@ Sort without case sensitivity and preceding dot:
284
269
 
285
270
  class RbFind
286
271
 
287
- VERSION = "1.11".freeze
272
+ VERSION = "1.12".freeze
288
273
 
289
274
  class <<self
290
275
  private :new
@@ -597,7 +582,7 @@ class RbFind
597
582
  # +nil+ is returned.
598
583
  #
599
584
  def empty?
600
- read_dir.each! { |f| return false }
585
+ read_dir.each_child { |f| return false }
601
586
  true
602
587
  rescue Errno::ENOTDIR
603
588
  end
@@ -619,9 +604,10 @@ class RbFind
619
604
  # +nil+ is returned.
620
605
  #
621
606
  def entries
622
- read_dir.entries!
607
+ read_dir.children
623
608
  rescue Errno::ENOTDIR
624
609
  end
610
+ alias children entries
625
611
 
626
612
  # :call-seq:
627
613
  # open() { |h| ... } -> obj
@@ -630,7 +616,7 @@ class RbFind
630
616
  # nothing will be done.
631
617
  #
632
618
  def open &block
633
- if @ostat and (s = File.stat @path).same? @ostat then
619
+ if @ostat and @ostat.identical? @path then
634
620
  raise "Refusing to open output file."
635
621
  end
636
622
  handle_error Errno::EACCES do
@@ -894,7 +880,7 @@ class RbFind
894
880
  true
895
881
  end
896
882
  end
897
- dir = (read_dir or return).entries!
883
+ dir = (read_dir or return).children
898
884
  if @sort.respond_to? :call then
899
885
  dir = dir.sort_by &@sort
900
886
  elsif @sort and @sort.nonzero? then
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: '1.11'
4
+ version: '1.12'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bertram Scharpf
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-07 00:00:00.000000000 Z
11
+ date: 2019-12-26 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |
14
14
  A replacement for the standard UNIX command find.
@@ -51,7 +51,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
51
51
  version: '0'
52
52
  requirements:
53
53
  - just Ruby
54
- rubygems_version: 3.0.3
54
+ rubygems_version: 3.0.6
55
55
  signing_key:
56
56
  specification_version: 4
57
57
  summary: Ruby replacement for the standard Unix find tool