Module: ReMQ
Defined Under Namespace
Classes: BadJobError, Queue, Worker
Constant Summary collapse
- VERSION =
'0.0.2'
Instance Method Summary collapse
-
#is_valid_job?(job) ⇒ Boolean
Check if the job is a valid job.
-
#normalize_queue_name(name) ⇒ String
Get a normalized ReMQ queue name.
-
#redis ⇒ Object
Return the Redis connection or create a new connection.
-
#set_redis(redis) ⇒ Object
Set a custom Redis connection.
-
#set_redis_config(config) ⇒ Object
Set Redis connection options.
Instance Method Details
#is_valid_job?(job) ⇒ Boolean
Check if the job is a valid job.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/ReMQ.rb', line 51 def is_valid_job?(job) # check if is class if job.class != Class and Object.const_defined?(job) job = Object.const_get(job) elsif job.class != Class raise BadJobError, "#{job} is not a class" return false end # Ruby 1.9 uses a symbol for methods, while 1.8 uses strings method = RUBY_VERSION.gsub(/\.\d$/, '') == '1.9' ? :perform : 'perform' # check if it has the perform method unless job.methods.include?(method) raise BadJobError, "#{job} does not have a perform method" return false end return true end |
#normalize_queue_name(name) ⇒ String
Get a normalized ReMQ queue name.
21 22 23 |
# File 'lib/ReMQ.rb', line 21 def normalize_queue_name(name) "remq:#{name}" end |
#redis ⇒ Object
Return the Redis connection or create a new connection.
42 43 44 |
# File 'lib/ReMQ.rb', line 42 def redis @redis ||= Redis.new end |
#set_redis(redis) ⇒ Object
Set a custom Redis connection.
35 36 37 |
# File 'lib/ReMQ.rb', line 35 def set_redis(redis) @redis = redis end |
#set_redis_config(config) ⇒ Object
Set Redis connection options.
28 29 30 |
# File 'lib/ReMQ.rb', line 28 def set_redis_config(config) @redis = Redis.new(config) end |