Module: OddJob::Job

Defined in:
lib/odd_job/job.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.define_methods(parameters) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/odd_job/job.rb', line 17

def self.define_methods(parameters)
  parameters.each do |key, value|
    key = key.to_sym
    define_method(key) do
      @options[key]
    end
  end
end

.included(base) ⇒ Object



10
11
12
13
14
15
# File 'lib/odd_job/job.rb', line 10

def self.included(base)
  job_definition = OddJob.contract(base.name) 
  base.queue_as queue: job_definition[:queue]
  base.extend(ClassMethods)
  define_methods(job_definition[:parameters])
end

Instance Method Details

#parse_options(version, options) ⇒ Object

Move this to a before hook when we move to ActiveJob



4
5
6
7
8
# File 'lib/odd_job/job.rb', line 4

def parse_options(version, options)
  logger.info("version: #{version}, arguments: #{options}")
  @options = options.deep_symbolize_keys
  yield
end