Class: Rspider::UrlStorage

Inherits:
Object
  • Object
show all
Defined in:
lib/rspider/UrlStorage.rb

Direct Known Subclasses

UrlStorageCache

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeUrlStorage

Returns a new instance of UrlStorage.



4
5
6
7
# File 'lib/rspider/UrlStorage.rb', line 4

def initialize()
	@visitedUrls=[]
	@urls=[]
end

Instance Attribute Details

#urlsObject

Returns the value of attribute urls.



3
4
5
# File 'lib/rspider/UrlStorage.rb', line 3

def urls
  @urls
end

#visitedUrlsObject

Returns the value of attribute visitedUrls.



3
4
5
# File 'lib/rspider/UrlStorage.rb', line 3

def visitedUrls
  @visitedUrls
end

Instance Method Details

#<<(u) ⇒ Object



8
9
10
11
12
13
# File 'lib/rspider/UrlStorage.rb', line 8

def <<(u)
	#puts "add u:#{u}"
	return nil if @visitedUrls.include?(u)
	return nil if @urls.include?(u)
	@urls<< u
end

#error(url) ⇒ Object



24
25
26
# File 'lib/rspider/UrlStorage.rb', line 24

def error(url)
	@urls.delete(url)
end

#popObject



17
18
19
# File 'lib/rspider/UrlStorage.rb', line 17

def pop()
	@urls[rand(@urls.length-1)]
end

#visited(u) ⇒ Object



20
21
22
23
# File 'lib/rspider/UrlStorage.rb', line 20

def visited(u)
	@urls.delete(u) { puts "not found when delete #{u}"}
	@visitedUrls<<u
end

#visited?(u) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/rspider/UrlStorage.rb', line 14

def visited?(u)
	@visitedUrls.include?(u)	
end