class Envoi::Mam::Agent::WatchFolderUtility::Foreman
Constants
- AWF
- LWF
Attributes
agent[RW]
config[RW]
logger[RW]
watch_folders[RW]
Public Class Methods
initialize_watch_folder(watch_folder_def)
click to toggle source
# File lib/envoi/mam/agent/watch_folder_utility/foreman.rb, line 27 def self.initialize_watch_folder(watch_folder_def) case (watch_folder_def['handler'] || '').downcase.gsub(/[-_ ]/, '') when 'asperawatch' wf_class = Envoi::Aspera::WatchService::WatchFolder end wf_class.new(watch_folder_def) end
new(args = { })
click to toggle source
# File lib/envoi/mam/agent/watch_folder_utility/foreman.rb, line 12 def initialize(args = { }) initialize_logger(args) @agent = Envoi::Mam::Cantemo::Agent.load_from_config_file(args) @config = agent.config cantemo_config = config[:cantemo] || config['cantemo'] watch_folder_defs = cantemo_config[:watch_folders] || cantemo_config['watch_folders'] @ignored_file_paths_by_watch_folder = Hash.new { |h, k| h[k] = [] } @watch_folders = AWF.process_watch_folder_defs(watch_folder_defs) end
poll_watch_folder(watch_folder, &block)
click to toggle source
# File lib/envoi/mam/agent/watch_folder_utility/foreman.rb, line 51 def self.poll_watch_folder(watch_folder, &block) watch_folder.poll(&block) end
poll_watch_folders(watch_folders, &block)
click to toggle source
# File lib/envoi/mam/agent/watch_folder_utility/foreman.rb, line 55 def self.poll_watch_folders(watch_folders, &block) watch_folders.each { |watch_folder| poll_watch_folder(watch_folder, &block) } end
process_watch_folder_def(watch_folder_def)
click to toggle source
# File lib/envoi/mam/agent/watch_folder_utility/foreman.rb, line 35 def self.process_watch_folder_def(watch_folder_def) initialize_watch_folder(watch_folder_def) end
process_watch_folder_defs(watch_folder_defs)
click to toggle source
# File lib/envoi/mam/agent/watch_folder_utility/foreman.rb, line 39 def self.process_watch_folder_defs(watch_folder_defs) if watch_folder_defs.is_a?(Array) watch_folder_defs.map { |watch_folder_def| process_watch_folder_def(watch_folder_def) } elsif watch_folder_defs.is_a?(Hash) watch_folder_defs.map do |name, watch_folder_def| watch_folder_def['path'] ||= name; process_watch_folder_def(watch_folder_def) end else raise "Unhandled format: #{watch_folder_defs.class.name}" end end
run_once(watch_folders, &block)
click to toggle source
# File lib/envoi/mam/agent/watch_folder_utility/foreman.rb, line 59 def self.run_once(watch_folders, &block) poll_watch_folders(watch_folders, &block) end