Sha256: 9fbd4d858965e4b9ee7246cd2dd407c854b84c1dc5d99b6148b503dfd1919285
Contents?: true
Size: 1.16 KB
Versions: 1
Compression:
Stored size: 1.16 KB
Contents
require 'fde/file_crawler/version' module FDE module FileCrawler class NoCopyTargetDefined < StandardError; end class Config attr_accessor :path_in_directory, :path_out_directory end def self.config @@config ||= Config.new end def self.configure yield self.config end def self.watch(query = /.*\.*/i, &block) self.crawl(query).each do |file| yield file end end def self.crawl(query = /.*\.*/i) path = self.config.path_in_directory files = Dir.entries(path) files -= %w[. ..] files.select { |file| query.match(file) } end def self.copy(file, target = nil) if self.config.path_out_directory && target.nil? FileUtils.copy(path_for(file), self.config.path_out_directory) elsif target.nil? raise NoCopyTargetDefined else FileUtils.copy(path_for(file), target) end end def self.delete(file) FileUtils.rm(path_for(file)) end def self.move(file, target) FileUtils.mv(path_for(file), target) end def self.path_for(file) "#{self.config.path_in_directory}#{file}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fde-file_crawler-0.6.0 | lib/fde/file_crawler.rb |