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 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.3.0
1
+ 0.4.0
@@ -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 = SimpleURITemplate.new('http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&tool={tool}&email={email}&retmax={retmax}&retstart={retstart}&term={term}')
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.expand(options.merge({:term => term}))
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
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{pubmed_search}
8
- s.version = "0.3.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{2010-12-13}
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.3.7}
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
- hash: 19
5
- prerelease: false
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: 2010-12-13 00:00:00 -05:00
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: rschenk-simple_uri_template
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.3.7
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