pubmed_search 0.2.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/.document +5 -0
- data/.gitignore +5 -0
- data/LICENSE +20 -0
- data/README.rdoc +49 -0
- data/Rakefile +50 -0
- data/VERSION +1 -0
- data/lib/pubmed_search.rb +106 -0
- data/pubmed_search.gemspec +62 -0
- data/spec/pubmed_search_spec.rb +68 -0
- data/spec/responses/bangana_tonkinensis_cranksection.xml +49 -0
- data/spec/responses/biodiversity_informatics.xml +22 -0
- data/spec/responses/e_coli_0.xml +100004 -0
- data/spec/responses/e_coli_1.xml +100004 -0
- data/spec/responses/e_coli_2.xml +75241 -0
- data/spec/responses/mus_musculus.xml +100004 -0
- data/spec/spec_helper.rb +53 -0
- metadata +91 -0
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require 'spec'
|
|
2
|
+
require 'uri'
|
|
3
|
+
require 'fakeweb'
|
|
4
|
+
|
|
5
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
6
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
7
|
+
require 'pubmed_search'
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
Spec::Runner.configure do |config|
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
FakeWeb.allow_net_connect = false
|
|
16
|
+
|
|
17
|
+
def fake_esearch_response(search_term, options={})
|
|
18
|
+
file = options[:file] || search_term.downcase.gsub(/\W/, '_')
|
|
19
|
+
FakeWeb.register_uri(:any, "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&retmax=100000&retstart=0&term=#{URI.escape search_term}",
|
|
20
|
+
:body => File.dirname(__FILE__) + "/responses/#{file}.xml")
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class OnlyInclude
|
|
25
|
+
def initialize(entries)
|
|
26
|
+
@expected_entries = entries
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def matches?(array)
|
|
30
|
+
@array = array
|
|
31
|
+
@array.sort == @expected_entries.sort
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def description
|
|
35
|
+
"only include"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def failure_message
|
|
39
|
+
if @expected_entries.length != @array.length
|
|
40
|
+
"expected to have #{@expected_entries.length} entries, but had #{@array.length}: #{@array.inspect}"
|
|
41
|
+
else
|
|
42
|
+
"expected #{@array.inspect} to include #{(@expected_entries - @array).inspect}"
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def negative_failure_message
|
|
47
|
+
"#{@array.inspect} expected to include other entries"
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def only_include(*args)
|
|
52
|
+
OnlyInclude.new args
|
|
53
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: pubmed_search
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.2.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Ryan Schenk
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
|
|
12
|
+
date: 2010-01-30 00:00:00 -05:00
|
|
13
|
+
default_executable:
|
|
14
|
+
dependencies:
|
|
15
|
+
- !ruby/object:Gem::Dependency
|
|
16
|
+
name: rschenk-simple_uri_template
|
|
17
|
+
type: :runtime
|
|
18
|
+
version_requirement:
|
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
20
|
+
requirements:
|
|
21
|
+
- - ">="
|
|
22
|
+
- !ruby/object:Gem::Version
|
|
23
|
+
version: "0"
|
|
24
|
+
version:
|
|
25
|
+
- !ruby/object:Gem::Dependency
|
|
26
|
+
name: nokogiri
|
|
27
|
+
type: :runtime
|
|
28
|
+
version_requirement:
|
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: "0"
|
|
34
|
+
version:
|
|
35
|
+
description:
|
|
36
|
+
email: rschenk@gmail.com
|
|
37
|
+
executables: []
|
|
38
|
+
|
|
39
|
+
extensions: []
|
|
40
|
+
|
|
41
|
+
extra_rdoc_files:
|
|
42
|
+
- LICENSE
|
|
43
|
+
- README.rdoc
|
|
44
|
+
files:
|
|
45
|
+
- .document
|
|
46
|
+
- .gitignore
|
|
47
|
+
- LICENSE
|
|
48
|
+
- README.rdoc
|
|
49
|
+
- Rakefile
|
|
50
|
+
- VERSION
|
|
51
|
+
- lib/pubmed_search.rb
|
|
52
|
+
- pubmed_search.gemspec
|
|
53
|
+
- spec/pubmed_search_spec.rb
|
|
54
|
+
- spec/responses/bangana_tonkinensis_cranksection.xml
|
|
55
|
+
- spec/responses/biodiversity_informatics.xml
|
|
56
|
+
- spec/responses/e_coli_0.xml
|
|
57
|
+
- spec/responses/e_coli_1.xml
|
|
58
|
+
- spec/responses/e_coli_2.xml
|
|
59
|
+
- spec/responses/mus_musculus.xml
|
|
60
|
+
- spec/spec_helper.rb
|
|
61
|
+
has_rdoc: true
|
|
62
|
+
homepage: http://github.com/rschenk/pubmed_search
|
|
63
|
+
licenses: []
|
|
64
|
+
|
|
65
|
+
post_install_message:
|
|
66
|
+
rdoc_options:
|
|
67
|
+
- --charset=UTF-8
|
|
68
|
+
require_paths:
|
|
69
|
+
- lib
|
|
70
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - ">="
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: "0"
|
|
75
|
+
version:
|
|
76
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
77
|
+
requirements:
|
|
78
|
+
- - ">="
|
|
79
|
+
- !ruby/object:Gem::Version
|
|
80
|
+
version: "0"
|
|
81
|
+
version:
|
|
82
|
+
requirements: []
|
|
83
|
+
|
|
84
|
+
rubyforge_project:
|
|
85
|
+
rubygems_version: 1.3.5
|
|
86
|
+
signing_key:
|
|
87
|
+
specification_version: 2
|
|
88
|
+
summary: A PubMed searching library with more features than BioRuby
|
|
89
|
+
test_files:
|
|
90
|
+
- spec/pubmed_search_spec.rb
|
|
91
|
+
- spec/spec_helper.rb
|