Sha256: 3b68620cc0f32452dfea8b81270a245ee5790623d8d6c7b7ab458791afb16e40

Contents?: true

Size: 876 Bytes

Versions: 3

Compression:

Stored size: 876 Bytes

Contents

module Idonethis::Adapters
  module IO
    module DirectoryInfo
      class << self
        def modified_today?(dir)
          time,now = File.ctime(dir),Time.now
        
          _in(dir).select{|it| any_file_inside_changed?(it, time, now) }
        end

        private

        def any_file_inside_changed?(dir, time, now)
          Dir["#{dir}/**/**"].each do |file|
            return true if today?(File.ctime(file), now)
          end
          return false
        end
      
        def today?(time, now)
          time.year == now.year && time.month == now.month && time.day == now.day
        end

        def _in(dir)
          Dir.entries(dir).
            reject{|it| ["..", "."].include?(it) }.
            select{|it| File.directory?(File.join(dir, it))}.
            map{   |it| File.expand_path(File.join(dir, it))}
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
idonethis-cli-0.13.2 lib/adapters/io/directory_info.rb
idonethis-cli-0.13.1 lib/adapters/io/directory_info.rb
idonethis-cli-0.13.0 lib/adapters/io/directory_info.rb