module Q::Methods::Base
Public Class Methods
included(base)
click to toggle source
# File lib/q/methods/base.rb, line 4 def self.included(base) base.const_set("Queue", Class.new(::Q::Queue)) unless base.const_get("Queue") != ::Queue included = base.method(:included) if base.respond_to?(:included) base.define_singleton_method(:included) do |target| included.call(target) unless included.nil? raise Q::MissingClassError.new(base, :QueueMethod) unless Q.const_defined_on?(base, :QueueMethod) raise Q::MissingClassError.new(base, :QueueBuild) unless Q.const_defined_on?(base, :QueueBuild) raise Q::MissingClassError.new(base, :QueueTask) unless Q.const_defined_on?(base, :QueueTask) raise Q::MissingClassError.new(base, :QueueConfig) unless Q.const_defined_on?(base, :QueueConfig) target.extend(ClassMethods) target.send(:include, InstanceMethods) target.class_variable_set(:@@_q_klass, base) unless target.class_variable_defined?(:@@_q_klass) target.class_variable_set(:@@_q_queue, base::Queue.new) unless target.class_variable_defined?(:@@_q_queue) end end