abhay / calais

A Ruby interface to the Open Calais API (http://opencalais.com)

This URL has Read+Write access

calais / lib / calais.rb
100644 48 lines (36 sloc) 0.926 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
require 'digest/sha1'
require 'net/http'
require 'yaml'
require 'cgi'
 
require 'rubygems'
require 'hpricot'
 
$KCODE = "UTF8"
 
Dir.glob(File.join(File.dirname(__FILE__), 'calais/*.rb')).each { |f| require f }
 
module Calais
  POST_URL = "http://api.opencalais.com"
  
  AVAILABLE_OUTPUT_FORMATS = {
    :rdf => "XML/RDF"
  }
  DEFAULT_OUTPUT_FORMAT = :rdf
  
  AVAILABLE_CONTENT_TYPES = {
    :xml => "TEXT/XML",
    :html => "TEXT/HTML",
    :text => "TEXT/TXT"
  }
  DEFAULT_CONTENT_TYPE = :xml
  
  DEFAULT_SUBMITTER = "calais.rb"
  
  AVAILABLE_METHODS = {
    :enlighten => "/enlighten/calais.asmx/Enlighten"
  }
  
  MAX_RETRIES = 5
  
  class << self
    def enlighten(*args, &block) Client.new(*args, &block).call(:enlighten) end
    def process_document(*args, &block)
      data, error = Calais.enlighten(*args, &block)
      Client.process_data(data, error)
    end
  end
end
 
module Calais
  VERSION = '0.0.2'
end