watsy0007/crawl_station

View on GitHub
lib/crawl_station/adapters/schedule_adapters/memory_adapter.rb

Summary

Maintainability
A
20 mins
Test Coverage
module CrawlStation
  module Adapters
    module ScheduleAdapters
      class MemoryAdapter < AbstractAdapter
        def initialize
          @queue = Queue.new
          @queue.extend(MonitorMixin)
          %w(push pop empty?).each do |method_name|
            self.define_singleton_method method_name do |*args|
              @queue.synchronize do
                @queue.send(method_name, *args)
              end
            end
          end
        end

        def failed(item)
          CS.logger.debug "#{item.link} failed"
        end
      end
    end
  end
end