Class: IncludedInMemcached

Inherits:
Object
  • Object
show all
Defined in:
lib/spider/included_in_memcached.rb

Overview

A specialized class using memcached to track items stored. It supports three operations: new, <<, and include? . Together these can be used to add items to the memcache, then determine whether the item has been added.

To use it with Spider use the check_already_seen_with method:

Spider.start_at('http://example.com/') do |s|
  s.check_already_seen_with IncludedInMemcached.new('localhost:11211')
end

Instance Method Summary collapse

Constructor Details

#initialize(*a) ⇒ IncludedInMemcached

Construct a new IncludedInMemcached instance. All arguments here are passed to MemCache (part of the memcache-client gem).



17
18
19
# File 'lib/spider/included_in_memcached.rb', line 17

def initialize(*a)
  @c = MemCache.new(*a)
end

Instance Method Details

#<<(v) ⇒ Object

Add an item to the memcache.



22
23
24
# File 'lib/spider/included_in_memcached.rb', line 22

def <<(v)
  @c.add(v.to_s, v)
end

#include?(v) ⇒ Boolean

True if the item is in the memcache.

Returns:

  • (Boolean)


27
28
29
# File 'lib/spider/included_in_memcached.rb', line 27

def include?(v)
  @c.get(v.to_s) == v
end