calais 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,14 @@
1
1
  # Changes
2
2
 
3
+ ## 0.0.9
4
+
5
+ * updates related to API changes
6
+ * community patches to support bundler, support ruby 1.9
7
+
8
+ ## 0.0.8
9
+
10
+ * community patches to use nokogiri
11
+
3
12
  ## 0.0.7
4
13
  * verified 4.0 API
5
14
  * moved gem packaging to `jeweler` and documentation to `yard`
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source :gemcutter
2
+
3
+ gem "rake", "0.8.7"
4
+ gem "curb", "0.6.7"
5
+ gem "nokogiri"
6
+ gem "jeweler"
7
+ gem "yard"
8
+
9
+ group :test do
10
+ gem "rspec"
11
+ end
@@ -1,4 +1,5 @@
1
1
  ---
2
- :minor: 0
3
- :patch: 8
4
2
  :major: 0
3
+ :minor: 0
4
+ :build:
5
+ :patch: 9
@@ -9,8 +9,10 @@ require 'nokogiri'
9
9
  require 'json'
10
10
  require 'curb'
11
11
 
12
- $KCODE = "UTF8"
13
- require 'jcode'
12
+ if RUBY_VERSION.to_f < 1.9
13
+ $KCODE = "UTF8"
14
+ require 'jcode'
15
+ end
14
16
 
15
17
  $:.unshift File.expand_path(File.dirname(__FILE__)) + '/calais'
16
18
 
@@ -24,8 +26,8 @@ module Calais
24
26
 
25
27
  AVAILABLE_CONTENT_TYPES = {
26
28
  :xml => 'text/xml',
27
- :text => 'text/txt',
28
29
  :html => 'text/html',
30
+ :htmlraw => 'text/htmlraw',
29
31
  :raw => 'text/raw'
30
32
  }
31
33
 
@@ -36,8 +38,8 @@ module Calais
36
38
  :json => 'application/json'
37
39
  }
38
40
 
39
- KNOWN_ENABLES = ['GenericRelations']
40
- KNOWN_DISCARDS = ['er/Company', 'er/Geo']
41
+ KNOWN_ENABLES = ['GenericRelations', 'SocialTags']
42
+ KNOWN_DISCARDS = ['er/Company', 'er/Geo', 'er/Product']
41
43
 
42
44
  MAX_RETRIES = 5
43
45
  HTTP_TIMEOUT = 60
@@ -6,7 +6,7 @@ module Calais
6
6
 
7
7
  # processing directives
8
8
  attr_accessor :content_type, :output_format, :reltag_base_url, :calculate_relevance, :omit_outputting_original_text
9
- attr_accessor :metadata_enables, :metadata_discards
9
+ attr_accessor :store_rdf, :metadata_enables, :metadata_discards
10
10
 
11
11
  # user directives
12
12
  attr_accessor :allow_distribution, :allow_search, :external_id, :submitter
@@ -47,9 +47,11 @@ module Calais
47
47
  processing_node = Nokogiri::XML::Node.new('c:processingDirectives', document)
48
48
  processing_node['c:contentType'] = AVAILABLE_CONTENT_TYPES[@content_type] if @content_type
49
49
  processing_node['c:outputFormat'] = AVAILABLE_OUTPUT_FORMATS[@output_format] if @output_format
50
+ processing_node['c:calculateRelevanceScore'] = 'false' if @calculate_relevance == false
50
51
  processing_node['c:reltagBaseURL'] = @reltag_base_url.to_s if @reltag_base_url
51
52
 
52
- processing_node['c:enableMetadataType'] = @metadata_enables.join(';') unless @metadata_enables.empty?
53
+ processing_node['c:enableMetadataType'] = @metadata_enables.join(',') unless @metadata_enables.empty?
54
+ processing_node['c:docRDFaccessible'] = @store_rdf if @store_rdf
53
55
  processing_node['c:discardMetadata'] = @metadata_discards.join(';') unless @metadata_discards.empty?
54
56
  processing_node['c:omitOutputtingOriginalText'] = 'true' if @omit_outputting_original_text
55
57
 
@@ -84,7 +86,7 @@ module Calais
84
86
  raise 'unknown content type' unless AVAILABLE_CONTENT_TYPES.keys.include?(@content_type) if @content_type
85
87
  raise 'unknown output format' unless AVAILABLE_OUTPUT_FORMATS.keys.include?(@output_format) if @output_format
86
88
 
87
- %w[calculate_relevance allow_distribution allow_search].each do |variable|
89
+ %w[calculate_relevance store_rdf allow_distribution allow_search].each do |variable|
88
90
  value = self.send(variable)
89
91
  unless NilClass === value || TrueClass === value || FalseClass === value
90
92
  raise "expected a boolean value for #{variable} but got #{value}"
@@ -93,11 +95,11 @@ module Calais
93
95
 
94
96
  @metadata_enables ||= []
95
97
  unknown_enables = Set.new(@metadata_enables) - KNOWN_ENABLES
96
- raise "unknown metadata enables: #{unknown_enables.to_ainspect}" unless unknown_enables.empty?
98
+ raise "unknown metadata enables: #{unknown_enables.to_a.inspect}" unless unknown_enables.empty?
97
99
 
98
100
  @metadata_discards ||= []
99
101
  unknown_discards = Set.new(@metadata_discards) - KNOWN_DISCARDS
100
- raise "unknown metadata discards: #{unknown_discards.to_ainspect}" unless unknown_discards.empty?
102
+ raise "unknown metadata discards: #{unknown_discards.to_a.inspect}" unless unknown_discards.empty?
101
103
  end
102
104
 
103
105
  def do_request(post_fields)
@@ -45,7 +45,7 @@ describe Calais::Client, :params_xml do
45
45
  client.external_id = Digest::SHA1.hexdigest(client.content)
46
46
  client.submitter = 'calais.rb'
47
47
 
48
- client.params_xml.should == %[<c:params xmlns:c="http://s.opencalais.com/1/pred/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n <c:processingDirectives c:contentType="text/xml" c:outputFormat="application/json" c:reltagBaseURL="http://opencalais.com" c:enableMetadataType="GenericRelations" c:discardMetadata="er/Company;er/Geo"/>\n <c:userDirectives c:allowDistribution="true" c:allowSearch="true" c:externalID="1a008b91e7d21962e132bc1d6cb252532116a606" c:submitter="calais.rb"/>\n</c:params>]
48
+ client.params_xml.should == %[<c:params xmlns:c="http://s.opencalais.com/1/pred/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n <c:processingDirectives c:contentType="text/xml" c:outputFormat="application/json" c:reltagBaseURL="http://opencalais.com" c:enableMetadataType="GenericRelations,SocialTags" c:discardMetadata="er/Company;er/Geo;er/Product"/>\n <c:userDirectives c:allowDistribution="true" c:allowSearch="true" c:externalID="1a008b91e7d21962e132bc1d6cb252532116a606" c:submitter="calais.rb"/>\n</c:params>]
49
49
  end
50
50
  end
51
51
 
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calais
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 9
9
+ version: 0.0.9
5
10
  platform: ruby
6
11
  authors:
7
12
  - Abhay Kumar
@@ -9,39 +14,51 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-09-18 00:00:00 -07:00
17
+ date: 2010-04-14 00:00:00 -07:00
13
18
  default_executable:
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: nokogiri
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
20
24
  requirements:
21
25
  - - ">="
22
26
  - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 3
30
+ - 3
23
31
  version: 1.3.3
24
- version:
32
+ type: :runtime
33
+ version_requirements: *id001
25
34
  - !ruby/object:Gem::Dependency
26
35
  name: json
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
30
38
  requirements:
31
39
  - - ">="
32
40
  - !ruby/object:Gem::Version
41
+ segments:
42
+ - 1
43
+ - 1
44
+ - 3
33
45
  version: 1.1.3
34
- version:
46
+ type: :runtime
47
+ version_requirements: *id002
35
48
  - !ruby/object:Gem::Dependency
36
49
  name: curb
37
- type: :runtime
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
40
52
  requirements:
41
53
  - - ">="
42
54
  - !ruby/object:Gem::Version
55
+ segments:
56
+ - 0
57
+ - 1
58
+ - 4
43
59
  version: 0.1.4
44
- version:
60
+ type: :runtime
61
+ version_requirements: *id003
45
62
  description: A Ruby interface to the Calais Web Service
46
63
  email: info@opensynapse.net
47
64
  executables: []
@@ -52,6 +69,7 @@ extra_rdoc_files:
52
69
  - README.markdown
53
70
  files:
54
71
  - CHANGELOG.markdown
72
+ - Gemfile
55
73
  - MIT-LICENSE
56
74
  - README.markdown
57
75
  - Rakefile
@@ -73,20 +91,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
73
91
  requirements:
74
92
  - - ">="
75
93
  - !ruby/object:Gem::Version
94
+ segments:
95
+ - 0
76
96
  version: "0"
77
- version:
78
97
  required_rubygems_version: !ruby/object:Gem::Requirement
79
98
  requirements:
80
99
  - - ">="
81
100
  - !ruby/object:Gem::Version
101
+ segments:
102
+ - 0
82
103
  version: "0"
83
- version:
84
104
  requirements: []
85
105
 
86
106
  rubyforge_project: calais
87
- rubygems_version: 1.3.5
107
+ rubygems_version: 1.3.6
88
108
  signing_key:
89
- specification_version: 2
109
+ specification_version: 3
90
110
  summary: A Ruby interface to the Calais Web Service
91
111
  test_files:
92
112
  - spec/calais/client_spec.rb