duckduckgo 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cf4c68be4da407c4c0c1be10bc4783c61ffb2c275029b99e9d2deffc3b90858e
4
- data.tar.gz: 4d8e9d9fb383f85d5511afb8dfc880dec72f203b9fd2faa1661ad5a21c5c58d5
3
+ metadata.gz: 004c997f5b8239486cab70461114e1eca9937b52d399cf211ce8389bb763ca03
4
+ data.tar.gz: b64ae18c13233cf14c4e6ad198f19995265fb02f27a0c4868d6a9ee9f4a4430b
5
5
  SHA512:
6
- metadata.gz: dd58f17df28c5c19e76293505c99d869534f8670e1776a9bcfc71c1ba68ab204d59af9b731a06691b5807f74a34a1c3a8087da0fd7ff24cfee0963b49a2af646
7
- data.tar.gz: 0fa6fc1dcfdcd8dc50811162da23595d775cafccdc487644b9fead54738a66f1d3c23eb84cdaefd401e8edff9418fbf62284b708f3a5f927cac31b8ca890e4a1
6
+ metadata.gz: 95b79824f6cbb39b3bda3475b6a5133951f2e9aa43c4ce07ecf6169cfda4d70a9e42f44256e368b931e2cadc95a4435976f1402f880476487e30303bc0c501da
7
+ data.tar.gz: 60f71e23cb3061be4e6210d9b6e543a9c6090a8aa74c3b52838d81d0d528bb4330b62f6e5c3804836c685793d680f94613dda1b877796f305e6dcc59195a36d9
@@ -0,0 +1,17 @@
1
+ on: push
2
+ jobs:
3
+ test:
4
+ runs-on: ubuntu-latest
5
+ strategy:
6
+ matrix:
7
+ ruby-version: ['3.1', '3.0']
8
+ steps:
9
+ - uses: actions/checkout@v4
10
+ - name: Set up Ruby ${{ matrix.ruby-version }}
11
+ uses: ruby/setup-ruby@v1
12
+ with:
13
+ ruby-version: ${{ matrix.ruby-version }}
14
+ - name: Install dependencies
15
+ run: bundle install
16
+ - name: Run tests
17
+ run: bundle exec rake
data/README.md CHANGED
@@ -1,5 +1,4 @@
1
1
  # DuckDuckGo
2
- [![Build Status](https://travis-ci.org/stevesoltys/duckduckgo.svg?branch=master)](https://travis-ci.org/stevesoltys/duckduckgo)
3
2
 
4
3
  An unofficial DuckDuckGo search API.
5
4
 
data/duckduckgo.gemspec CHANGED
@@ -18,9 +18,9 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency 'bundler', '~> 1.16.1'
22
- spec.add_development_dependency 'minitest', '~> 5.11.3'
21
+ spec.add_development_dependency 'bundler'
22
+ spec.add_development_dependency 'minitest'
23
23
  spec.add_development_dependency 'rake', '~> 12.3.1'
24
- spec.add_dependency 'nokogiri', '~> 1.8.2'
24
+ spec.add_dependency 'nokogiri'
25
25
  spec.add_dependency 'open_uri_redirections', '~> 0.2.1'
26
26
  end
@@ -21,7 +21,7 @@ module DuckDuckGo
21
21
  results = []
22
22
 
23
23
  raise 'Hash does not contain a query string.' if hash[:query].nil?
24
- html = open("#{RESOURCE_URL}#{CGI::escape(hash[:query])}")
24
+ html = URI.open("#{RESOURCE_URL}#{CGI::escape(hash[:query])}")
25
25
 
26
26
  document = Nokogiri::HTML(html)
27
27
 
@@ -35,21 +35,13 @@ module DuckDuckGo
35
35
  uri = title_element['href']
36
36
  raise 'Could not find result URL!' if uri.nil?
37
37
 
38
- # Attempt to follow redirects, since DuckDuckGo often aggregates search results from Yahoo.
39
- begin
40
- uddg = URI.decode_www_form(uri).to_h["uddg"]
41
- final_uri = open(uddg, :allow_redirections => :all).base_uri.to_s
42
- rescue
43
- final_uri = uri
44
- end
45
-
46
38
  description_element = result.css('.result__snippet').first
47
39
  raise 'Could not find result description element!' if description_element.nil?
48
40
 
49
41
  description = description_element.text
50
42
  raise 'Could not find result description!' if description.nil?
51
43
 
52
- results << SearchResult.new(final_uri, title, description)
44
+ results << SearchResult.new(uri, title, description)
53
45
  end
54
46
 
55
47
  return results
@@ -1,3 +1,3 @@
1
1
  module DuckDuckGo
2
- VERSION = '0.1.7'
2
+ VERSION = '0.1.8'
3
3
  end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: duckduckgo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Soltys
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-12-16 00:00:00.000000000 Z
11
+ date: 2024-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.16.1
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.16.1
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 5.11.3
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 5.11.3
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: nokogiri
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 1.8.2
61
+ version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 1.8.2
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: open_uri_redirections
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -87,8 +87,8 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
+ - ".github/workflows/build.yml"
90
91
  - ".gitignore"
91
- - ".travis.yml"
92
92
  - CODE_OF_CONDUCT.md
93
93
  - Gemfile
94
94
  - LICENSE.txt
@@ -120,8 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  - !ruby/object:Gem::Version
121
121
  version: '0'
122
122
  requirements: []
123
- rubyforge_project:
124
- rubygems_version: 2.7.7
123
+ rubygems_version: 3.3.5
125
124
  signing_key:
126
125
  specification_version: 4
127
126
  summary: An unofficial DuckDuckGo search API.
data/.travis.yml DELETED
@@ -1,4 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.1.5
4
- before_install: gem install bundler -v 1.10.6