Module: Dronejob::Loader
- Defined in:
- lib/dronejob/loader.rb
Constant Summary collapse
- @@workers =
nil
Class Method Summary collapse
Class Method Details
.identifier_for(worker) ⇒ Object
18 19 20 |
# File 'lib/dronejob/loader.rb', line 18 def self.identifier_for(worker) self.workers.key(worker.class) end |
.load ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/dronejob/loader.rb', line 5 def self.load require "active_support/all" workers = {} Dir["#{Dronejob::Base.jobs_path}/*.rb"].each do |file| require "./#{file}" identifier = File.basename(file).gsub(/\.rb$/, "") klassname = identifier.camelcase klass = klassname.constantize workers[identifier] = klass end workers end |
.workers(type = "base") ⇒ Object
22 23 24 25 26 |
# File 'lib/dronejob/loader.rb', line 22 def self.workers(type = "base") type = type.to_s @@workers ||= load @@workers.select { |key, worker| worker::DRONEJOB_TYPE == type } end |