pubmed_search 0.3.0 → 0.4.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/Rakefile +0 -1
- data/VERSION +1 -1
- data/lib/pubmed_search.rb +7 -3
- data/pubmed_search.gemspec +3 -7
- metadata +5 -33
data/Rakefile
CHANGED
|
@@ -9,7 +9,6 @@ begin
|
|
|
9
9
|
gem.email = "rschenk@gmail.com"
|
|
10
10
|
gem.homepage = "http://github.com/rschenk/pubmed_search"
|
|
11
11
|
gem.authors = ["Ryan Schenk"]
|
|
12
|
-
gem.add_dependency 'rschenk-simple_uri_template'
|
|
13
12
|
gem.add_dependency 'nokogiri'
|
|
14
13
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
|
15
14
|
end
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.4.0
|
data/lib/pubmed_search.rb
CHANGED
|
@@ -3,7 +3,6 @@ require 'open-uri'
|
|
|
3
3
|
|
|
4
4
|
require 'rubygems'
|
|
5
5
|
require 'nokogiri'
|
|
6
|
-
require 'simple_uri_template' # sudo gem install rschenk-simple_uri_template
|
|
7
6
|
|
|
8
7
|
|
|
9
8
|
class PubmedSearch
|
|
@@ -26,7 +25,7 @@ class PubmedSearch
|
|
|
26
25
|
:email => '',
|
|
27
26
|
:load_all_pmids => false }
|
|
28
27
|
|
|
29
|
-
@uri_template =
|
|
28
|
+
@uri_template = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&tool={tool}&email={email}&retmax={retmax}&retstart={retstart}&term={term}'
|
|
30
29
|
|
|
31
30
|
class << self
|
|
32
31
|
# Performs a search to PubMed via eUtils with the given term +String+, and returns a +PubmedSearch+ object modeling the response.
|
|
@@ -71,7 +70,7 @@ class PubmedSearch
|
|
|
71
70
|
def do_search(results, term, options)
|
|
72
71
|
wait
|
|
73
72
|
|
|
74
|
-
esearch_url = @uri_template
|
|
73
|
+
esearch_url = expand_uri(@uri_template, options.merge({:term => term}))
|
|
75
74
|
doc = Nokogiri::XML( open esearch_url )
|
|
76
75
|
|
|
77
76
|
results.count = doc.xpath('/eSearchResult/Count').first.content.to_i
|
|
@@ -88,6 +87,11 @@ class PubmedSearch
|
|
|
88
87
|
|
|
89
88
|
results
|
|
90
89
|
end
|
|
90
|
+
|
|
91
|
+
# This is a semi-hack to do URI templating. It used to be its own gem, but shit happened.
|
|
92
|
+
def expand_uri(uri, options)
|
|
93
|
+
uri.gsub(/\{(.*?)\}/) { URI.encode( (options[$1] || options[$1.to_sym] || '').to_s ) rescue '' }
|
|
94
|
+
end
|
|
91
95
|
end
|
|
92
96
|
|
|
93
97
|
|
data/pubmed_search.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = %q{pubmed_search}
|
|
8
|
-
s.version = "0.
|
|
8
|
+
s.version = "0.4.0"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Ryan Schenk"]
|
|
12
|
-
s.date = %q{
|
|
12
|
+
s.date = %q{2011-04-20}
|
|
13
13
|
s.email = %q{rschenk@gmail.com}
|
|
14
14
|
s.extra_rdoc_files = [
|
|
15
15
|
"LICENSE",
|
|
@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
|
|
|
34
34
|
]
|
|
35
35
|
s.homepage = %q{http://github.com/rschenk/pubmed_search}
|
|
36
36
|
s.require_paths = ["lib"]
|
|
37
|
-
s.rubygems_version = %q{1.
|
|
37
|
+
s.rubygems_version = %q{1.5.0}
|
|
38
38
|
s.summary = %q{A PubMed searching library with more features than BioRuby}
|
|
39
39
|
s.test_files = [
|
|
40
40
|
"spec/pubmed_search_spec.rb",
|
|
@@ -42,18 +42,14 @@ Gem::Specification.new do |s|
|
|
|
42
42
|
]
|
|
43
43
|
|
|
44
44
|
if s.respond_to? :specification_version then
|
|
45
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
|
46
45
|
s.specification_version = 3
|
|
47
46
|
|
|
48
47
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
49
|
-
s.add_runtime_dependency(%q<rschenk-simple_uri_template>, [">= 0"])
|
|
50
48
|
s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
|
|
51
49
|
else
|
|
52
|
-
s.add_dependency(%q<rschenk-simple_uri_template>, [">= 0"])
|
|
53
50
|
s.add_dependency(%q<nokogiri>, [">= 0"])
|
|
54
51
|
end
|
|
55
52
|
else
|
|
56
|
-
s.add_dependency(%q<rschenk-simple_uri_template>, [">= 0"])
|
|
57
53
|
s.add_dependency(%q<nokogiri>, [">= 0"])
|
|
58
54
|
end
|
|
59
55
|
end
|
metadata
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pubmed_search
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
segments:
|
|
7
|
-
- 0
|
|
8
|
-
- 3
|
|
9
|
-
- 0
|
|
10
|
-
version: 0.3.0
|
|
4
|
+
prerelease:
|
|
5
|
+
version: 0.4.0
|
|
11
6
|
platform: ruby
|
|
12
7
|
authors:
|
|
13
8
|
- Ryan Schenk
|
|
@@ -15,37 +10,20 @@ autorequire:
|
|
|
15
10
|
bindir: bin
|
|
16
11
|
cert_chain: []
|
|
17
12
|
|
|
18
|
-
date:
|
|
13
|
+
date: 2011-04-20 00:00:00 -04:00
|
|
19
14
|
default_executable:
|
|
20
15
|
dependencies:
|
|
21
16
|
- !ruby/object:Gem::Dependency
|
|
22
|
-
name:
|
|
17
|
+
name: nokogiri
|
|
23
18
|
prerelease: false
|
|
24
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
|
25
20
|
none: false
|
|
26
21
|
requirements:
|
|
27
22
|
- - ">="
|
|
28
23
|
- !ruby/object:Gem::Version
|
|
29
|
-
hash: 3
|
|
30
|
-
segments:
|
|
31
|
-
- 0
|
|
32
24
|
version: "0"
|
|
33
25
|
type: :runtime
|
|
34
26
|
version_requirements: *id001
|
|
35
|
-
- !ruby/object:Gem::Dependency
|
|
36
|
-
name: nokogiri
|
|
37
|
-
prerelease: false
|
|
38
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
|
39
|
-
none: false
|
|
40
|
-
requirements:
|
|
41
|
-
- - ">="
|
|
42
|
-
- !ruby/object:Gem::Version
|
|
43
|
-
hash: 3
|
|
44
|
-
segments:
|
|
45
|
-
- 0
|
|
46
|
-
version: "0"
|
|
47
|
-
type: :runtime
|
|
48
|
-
version_requirements: *id002
|
|
49
27
|
description:
|
|
50
28
|
email: rschenk@gmail.com
|
|
51
29
|
executables: []
|
|
@@ -85,23 +63,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
85
63
|
requirements:
|
|
86
64
|
- - ">="
|
|
87
65
|
- !ruby/object:Gem::Version
|
|
88
|
-
hash: 3
|
|
89
|
-
segments:
|
|
90
|
-
- 0
|
|
91
66
|
version: "0"
|
|
92
67
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
68
|
none: false
|
|
94
69
|
requirements:
|
|
95
70
|
- - ">="
|
|
96
71
|
- !ruby/object:Gem::Version
|
|
97
|
-
hash: 3
|
|
98
|
-
segments:
|
|
99
|
-
- 0
|
|
100
72
|
version: "0"
|
|
101
73
|
requirements: []
|
|
102
74
|
|
|
103
75
|
rubyforge_project:
|
|
104
|
-
rubygems_version: 1.
|
|
76
|
+
rubygems_version: 1.5.0
|
|
105
77
|
signing_key:
|
|
106
78
|
specification_version: 3
|
|
107
79
|
summary: A PubMed searching library with more features than BioRuby
|