module PartTime
  module Job
    def self.included(klass)
      klass.class_eval do
        def self.perform_async(*args)
          PartTime.queue.push([self, *args])
        end
      end
    end
  end
end

module PartTime
  module Job
    def self.included(klass)
      klass.extend(ClassMethods)
    end

    module ClassMethods
      def perform_async(*args)
        PartTime.queue.push([self, *args])
      end
    end
  end
end

Extend including class instead of using class_eval
Extend including class instead of using class_eval
