Sha256: fb515f96e5015a75234fda707fca3cb2a48cdb8539dd44631c82e441e9114480
Contents?: true
Size: 1.22 KB
Versions: 2
Compression:
Stored size: 1.22 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 # TODO: remove conditional def self.watch(query = nil, &block) unless query.nil? yield self.crawl(query) else yield self.crawl 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fde-file_crawler-0.5.1 | lib/fde/file_crawler.rb |
fde-file_crawler-0.5.0 | lib/fde/file_crawler.rb |