Class: Ayl::MessageOptions

Inherits:
Object
  • Object
show all
Defined in:
lib/ayl/message_options.rb

Constant Summary collapse

OPTIONS =
[ 
:priority, 
:fuzz, 
:delay, 
:time_to_run, 
:queue_name, 
:failed_job_handler,
:failed_job_delay,
:failed_job_count ]
VALID_FAILED_JOB_HANDLERS =
%W{ bury decay delete }

Class Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = nil) ⇒ MessageOptions

Returns a new instance of MessageOptions.



34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/ayl/message_options.rb', line 34

def initialize(opts=nil)
  opts ||= {}
  raise "parameter must be a hash" unless opts.is_a?(Hash)
  unknown_options = opts.keys - OPTIONS
  raise "unknown options specified: #{unknown_options}" unless unknown_options.empty?
  OPTIONS.each do |o|
    if o == :failed_job_handler
      if !(v = opts[o]).nil?
        raise "value for :failed_job_handler must be one of: #{VALID_FAILED_JOB_HANDLERS.join(', ')}" unless VALID_FAILED_JOB_HANDLERS.include?(v)
      end
    end
    send("#{o}=".to_sym, opts.fetch(o, self.class.send("default_#{o}".to_sym)))
  end
end

Class Attribute Details

.default_delayObject

Returns the value of attribute default_delay.



20
21
22
# File 'lib/ayl/message_options.rb', line 20

def default_delay
  @default_delay
end

.default_failed_job_countObject

Returns the value of attribute default_failed_job_count.



21
22
23
# File 'lib/ayl/message_options.rb', line 21

def default_failed_job_count
  @default_failed_job_count
end

.default_failed_job_delayObject

Returns the value of attribute default_failed_job_delay.



21
22
23
# File 'lib/ayl/message_options.rb', line 21

def default_failed_job_delay
  @default_failed_job_delay
end

.default_failed_job_handlerObject

Returns the value of attribute default_failed_job_handler.



21
22
23
# File 'lib/ayl/message_options.rb', line 21

def default_failed_job_handler
  @default_failed_job_handler
end

.default_fuzzObject

Returns the value of attribute default_fuzz.



20
21
22
# File 'lib/ayl/message_options.rb', line 20

def default_fuzz
  @default_fuzz
end

.default_priorityObject

Returns the value of attribute default_priority.



20
21
22
# File 'lib/ayl/message_options.rb', line 20

def default_priority
  @default_priority
end

.default_queue_nameObject

Returns the value of attribute default_queue_name.



20
21
22
# File 'lib/ayl/message_options.rb', line 20

def default_queue_name
  @default_queue_name
end

.default_time_to_runObject

Returns the value of attribute default_time_to_run.



20
21
22
# File 'lib/ayl/message_options.rb', line 20

def default_time_to_run
  @default_time_to_run
end