Class RDig::Document
In: lib/rdig/documents.rb
Parent: Object

Document base class

Methods

body   create   has_content?   links   needs_indexing?   new   title  

Attributes

content  [R] 
content_type  [R] 
uri  [R] 

Public Class methods

[Source]

    # File lib/rdig/documents.rb, line 12
12:     def self.create(url, referrer_uri = nil)
13:       # a referrer is a clear enough hint to create an HttpDocument
14:       if referrer_uri && referrer_uri.scheme =~ /^https?$/i
15:         return HttpDocument.new(:url => url, :referrer => referrer_uri)
16:       end
17:         
18:       case url
19:       when /^https?:\/\//i
20:         HttpDocument.new(:url => url, :referrer => referrer_uri) if referrer_uri.nil?
21:       when /^file:\/\//i
22:         # files don't have referrers - the check for nil prevents us from being
23:         # tricked into indexing local files by file:// links in the web site
24:         # we index.
25:         FileDocument.new(:url => url) if referrer_uri.nil?
26:       end
27:     end

url: url of this document, may be relative to the referring doc or host. referrer: uri of the document we retrieved this link from

[Source]

    # File lib/rdig/documents.rb, line 31
31:     def initialize(args)
32:       begin
33:         @uri = URI.parse(args[:url])
34:       rescue URI::InvalidURIError
35:         raise "Cannot create document using invalid URL: #{args[:url]}"
36:       end
37:     end

Public Instance methods

[Source]

    # File lib/rdig/documents.rb, line 40
40:     def body; @content[:content] end

[Source]

    # File lib/rdig/documents.rb, line 47
47:     def has_content?
48:       !self.content.nil?
49:     end

[Source]

    # File lib/rdig/documents.rb, line 41
41:     def links; @content[:links] end

[Source]

    # File lib/rdig/documents.rb, line 43
43:     def needs_indexing?
44:       has_content? && (title || body)
45:     end

[Source]

    # File lib/rdig/documents.rb, line 39
39:     def title; @content[:title] end

[Validate]