Class: Autowow::Fs
- Inherits:
-
Object
- Object
- Autowow::Fs
- Defined in:
- lib/autowow/fs.rb
Class Method Summary collapse
- .for_dirs(dirs) ⇒ Object
- .in_place_or_subdirs(in_place) ⇒ Object
- .latest(files) ⇒ Object
- .ls_dirs ⇒ Object
- .older_than(files, quantity, unit) ⇒ Object
Class Method Details
.for_dirs(dirs) ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/autowow/fs.rb', line 21 def self.for_dirs(dirs) dirs.each do |working_dir| # TODO: add handling of directories via extra param to popen3 # https://stackoverflow.com/a/10148084/2771889 Dir.chdir(working_dir) do yield working_dir end end end |
.in_place_or_subdirs(in_place) ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/autowow/fs.rb', line 31 def self.in_place_or_subdirs(in_place) if in_place yield else for_dirs(ls_dirs) do yield end end end |
.latest(files) ⇒ Object
11 12 13 |
# File 'lib/autowow/fs.rb', line 11 def self.latest(files) files.sort_by{ |f| File.mtime(f) }.reverse!.first end |
.ls_dirs ⇒ Object
7 8 9 |
# File 'lib/autowow/fs.rb', line 7 def self.ls_dirs Dir.glob(File.('./*/')).select {|f| File.directory? f} end |
.older_than(files, quantity, unit) ⇒ Object
15 16 17 18 19 |
# File 'lib/autowow/fs.rb', line 15 def self.older_than(files, quantity, unit) files.select do |dir| TimeDifference.between(File.mtime(dir), Time.now).public_send("in_#{unit}") > quantity end end |