Module: OddJob

Defined in:
lib/odd_job.rb,
lib/odd_job/job.rb,
lib/odd_job/version.rb

Defined Under Namespace

Modules: Job

Constant Summary collapse

VERSION =
"0.9.1"
@@contract_directory =
nil
@@contracts =
nil

Class Method Summary collapse

Class Method Details

.contract(job_name) ⇒ Object



13
14
15
# File 'lib/odd_job.rb', line 13

def self.contract(job_name)
  contracts[job_name.to_sym]
end

.contracts ⇒ Object



17
18
19
# File 'lib/odd_job.rb', line 17

def self.contracts
  @@contracts = @@contracts || load_contract_directory      
end

.load_contract_directory ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/odd_job.rb', line 21

def self.load_contract_directory
  contracts = {}
  Dir.glob("#{@@contract_directory}/*.yml") do |file|
    class_name = /([A-Z|a-z|0-9|_]+).yml$/.match(file)
    config = YAML::load(File.open(file)).deep_symbolize_keys
    contracts[class_name[1].camelize.to_sym] = config
  end
  contracts
end

.setup {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:

  • _self (OddJob) —

    the object that the method was called on



9
10
11
# File 'lib/odd_job.rb', line 9

def self.setup
  yield self
end