duck-duck-go 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGES CHANGED
@@ -1,3 +1,6 @@
1
+ 1.1.0 13-04-2011
2
+ - Support for skip_disambiguation queries
3
+
1
4
  1.0.2 08-04-2011
2
5
  - Add CHANGES file
3
6
 
data/Rakefile CHANGED
@@ -20,7 +20,6 @@ begin
20
20
  gem.authors = ["andrewrjones"]
21
21
  gem.add_dependency('httpclient')
22
22
  gem.add_dependency('json')
23
- gem.files.exclude 'scripts'
24
23
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
25
24
  end
26
25
  Jeweler::GemcutterTasks.new
@@ -52,3 +51,37 @@ Rake::RDocTask.new do |rdoc|
52
51
  rdoc.rdoc_files.include('LICENSE')
53
52
  rdoc.rdoc_files.include('lib/**/*.rb')
54
53
  end
54
+
55
+ # dumps out the result of the query, in JSON and Ruby
56
+ # used during development
57
+ task :search_dump do
58
+ require 'rubygems'
59
+ require 'httpclient'
60
+ require 'json'
61
+ require 'pp'
62
+
63
+ unless ENV.include?("query")
64
+ raise "usage: rake search_dump query=___"
65
+ end
66
+
67
+ args = {
68
+ 'q' => ENV['query'],
69
+ 'o' => 'json'
70
+ }
71
+ if ENV.include?("skip_disambiguation")
72
+ args['d'] = 1
73
+ end
74
+
75
+
76
+ http = HTTPClient.new
77
+ json = http.get_content('http://api.duckduckgo.com/', args)
78
+ ruby = JSON.parse(json)
79
+
80
+ puts 'JSON'
81
+ puts '----'
82
+ puts json
83
+ puts
84
+ puts 'Ruby'
85
+ puts '----'
86
+ pp ruby
87
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.2
1
+ 1.1.0
data/duck-duck-go.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{duck-duck-go}
8
- s.version = "1.0.2"
8
+ s.version = "1.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["andrewrjones"]
12
- s.date = %q{2011-04-08}
12
+ s.date = %q{2011-04-13}
13
13
  s.description = %q{A Ruby library to access the DuckDuckGo Zero Click Info API.}
14
14
  s.email = %q{andrew@arjones.co.uk}
15
15
  s.extra_rdoc_files = [
data/lib/duck_duck_go.rb CHANGED
@@ -33,8 +33,16 @@ module DuckDuckGo
33
33
 
34
34
  # Run a query against Duck Duck Go
35
35
  # Returns an instance of DuckDuckGo::ZeroClickInfo
36
- def zeroclickinfo(query)
37
- data = @http.get_content(@url, { 'q' => query, 'o' => 'json' })
36
+ def zeroclickinfo(query, skip_disambiguation = false)
37
+ args = {
38
+ 'q' => query,
39
+ 'o' => 'json'
40
+ }
41
+ if(skip_disambiguation)
42
+ args['d'] = 1
43
+ end
44
+
45
+ data = @http.get_content(@url, args)
38
46
 
39
47
  # parse the JSON and return an instance
40
48
  # of the ZeroClickInfo class
data/test/tc_live.rb CHANGED
@@ -30,6 +30,23 @@ class TestLive < Test::Unit::TestCase
30
30
  assert_equal("A", zci.type)
31
31
  end
32
32
 
33
+ def test_skip_disambiguation
34
+ ddg = DuckDuckGo.new(nil, true)
35
+ zci = ddg.zci('Bill Gates')
36
+
37
+ assert_instance_of(DuckDuckGo::ZeroClickInfo, zci)
38
+ assert_equal("D", zci.type)
39
+
40
+ sleep(5)
41
+
42
+ zci = ddg.zci('Bill Gates', true)
43
+
44
+ assert_instance_of(DuckDuckGo::ZeroClickInfo, zci)
45
+ assert_equal("Bill Gates", zci.heading)
46
+ assert_equal("Wikipedia", zci.abstract_source)
47
+ assert_equal("A", zci.type)
48
+ end
49
+
33
50
  # questions do not currently get a response on the api
34
51
  def test_answer
35
52
  ddg = DuckDuckGo.new
metadata CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
+ - 1
8
9
  - 0
9
- - 2
10
- version: 1.0.2
10
+ version: 1.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - andrewrjones
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-04-08 00:00:00 +01:00
18
+ date: 2011-04-13 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency