eutils 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ begin
11
11
  gem.homepage = "http://github.com/seouri/eutils"
12
12
  gem.authors = ["Joon Lee"]
13
13
  gem.add_development_dependency "shoulda", ">= 0"
14
- gem.add_dependency "nokogiri"
14
+ gem.add_dependency "activesupport", ">= 3.0.0.rc2"
15
15
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
16
  end
17
17
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{eutils}
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Joon Lee"]
12
- s.date = %q{2010-08-25}
12
+ s.date = %q{2010-08-26}
13
13
  s.description = %q{This gem only provides API for NCBI Eutils. If you need full access to other NCBI databases, try BioRuby (bio gem) instead.}
14
14
  s.email = %q{seouri@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -43,14 +43,14 @@ Gem::Specification.new do |s|
43
43
 
44
44
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
45
45
  s.add_development_dependency(%q<shoulda>, [">= 0"])
46
- s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
46
+ s.add_runtime_dependency(%q<activesupport>, [">= 3.0.0.rc2"])
47
47
  else
48
48
  s.add_dependency(%q<shoulda>, [">= 0"])
49
- s.add_dependency(%q<nokogiri>, [">= 0"])
49
+ s.add_dependency(%q<activesupport>, [">= 3.0.0.rc2"])
50
50
  end
51
51
  else
52
52
  s.add_dependency(%q<shoulda>, [">= 0"])
53
- s.add_dependency(%q<nokogiri>, [">= 0"])
53
+ s.add_dependency(%q<activesupport>, [">= 3.0.0.rc2"])
54
54
  end
55
55
  end
56
56
 
@@ -30,7 +30,7 @@ class Eutils
30
30
  if db.nil? || db.empty?
31
31
  return response.scan(/<DbName>(\w+)<\/DbName>/).flatten
32
32
  else
33
- return Hash.from_xml(response)
33
+ return Hash.from_xml(response)["eInfoResult"]
34
34
  end
35
35
  end
36
36
 
@@ -44,7 +44,7 @@ class Eutils
44
44
  params["usehistory"] ||= "y"
45
45
  server = EUTILS_HOST + "esearch.fcgi"
46
46
  response = post_eutils(server, params)
47
- return Hash.from_xml(response)
47
+ return Hash.from_xml(response)["eSearchResult"]
48
48
  end
49
49
 
50
50
  # EPost: Posts a file containing a list of primary IDs for future use in the user's environment to use with subsequent search strategies.
@@ -68,12 +68,12 @@ class Eutils
68
68
  params["db"] = db
69
69
  server = EUTILS_HOST + "esummary.fcgi"
70
70
  response = post_eutils(server, params)
71
- return Hash.from_xml(response)
71
+ return Hash.from_xml(response)["eSummaryResult"]
72
72
  end
73
73
 
74
74
  # EFetch: Retrieves records in the requested format from a list of one or more primary IDs or from the user's environment.
75
75
  # See also: http://eutils.ncbi.nlm.nih.gov/corehtml/query/static/efetch_help.html
76
- def efetch(db, webenv, query_key, params = {})
76
+ def efetch(db, webenv, query_key = 1, params = {})
77
77
  params["db"] = db
78
78
  params["WebEnv"] = webenv
79
79
  params["query_key"] = query_key
@@ -102,7 +102,7 @@ class Eutils
102
102
  server = EUTILS_HOST + "egquery.fcgi"
103
103
  params = {"term" => term}
104
104
  response = post_eutils(server, params)
105
- return Hash.from_xml(response)
105
+ return Hash.from_xml(response)["Result"]
106
106
  end
107
107
 
108
108
  # ESpell: Retrieves spelling suggestions.
@@ -35,15 +35,15 @@ class TestEutils < Test::Unit::TestCase
35
35
  should "get a hash from EInfo with db parameter" do
36
36
  i = eutils.einfo("pubmed")
37
37
  assert_equal Hash, i.class
38
- assert_equal "eInfoResult", i.keys.first
39
- assert_equal "pubmed", i['eInfoResult']['DbInfo']['DbName']
38
+ assert_equal "DbInfo", i.keys.first
39
+ assert_equal "pubmed", i['DbInfo']['DbName']
40
40
  end
41
41
 
42
42
  should "get a hash from ESearch for a term" do
43
43
  r = eutils.esearch("cancer")
44
44
  assert_equal Hash, r.class
45
- assert_equal "cancer", r["eSearchResult"]["TranslationSet"]["Translation"]["From"]
46
- assert_equal Array, r["eSearchResult"]["IdList"]["Id"].class
45
+ assert_equal "cancer", r["TranslationSet"]["Translation"]["From"]
46
+ assert_equal Array, r["IdList"]["Id"].class
47
47
  end
48
48
 
49
49
  should "get webenv and querykey from EPost for posted ids" do
@@ -60,13 +60,13 @@ class TestEutils < Test::Unit::TestCase
60
60
  ids = [11850928, 11482001]
61
61
  i = eutils.esummary(ids)
62
62
  assert_equal Hash, i.class
63
- assert_equal ids[0], i['eSummaryResult']['DocSum'][0]['Id'].to_i
63
+ assert_equal ids[0], i['DocSum'][0]['Id'].to_i
64
64
  end
65
65
 
66
66
  should "get a hash from EFetch for ESearch result" do
67
67
  s = eutils.esearch("cancer")
68
- webenv = s["eSearchResult"]["WebEnv"]
69
- query_key = s["eSearchResult"]["QueryKey"]
68
+ webenv = s["WebEnv"]
69
+ query_key = s["QueryKey"]
70
70
  r = eutils.efetch("pubmed", webenv, query_key)
71
71
  assert_equal Hash, r.class
72
72
  assert_equal "PubmedArticleSet", r.keys.first
@@ -81,7 +81,8 @@ class TestEutils < Test::Unit::TestCase
81
81
  should "get hash from EGQuery" do
82
82
  i = eutils.egquery("autism")
83
83
  assert_equal Hash, i.class
84
- assert_equal "Result", i.keys.first
85
- assert_equal "autism", i["Result"]["Term"]
84
+ assert_equal "Term", i.keys.sort.first
85
+ assert_equal "eGQueryResult", i.keys.sort.last
86
+ assert_equal "autism", i["Term"]
86
87
  end
87
88
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 0
9
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Joon Lee
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-08-25 00:00:00 -04:00
17
+ date: 2010-08-26 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -30,15 +30,18 @@ dependencies:
30
30
  type: :development
31
31
  version_requirements: *id001
32
32
  - !ruby/object:Gem::Dependency
33
- name: nokogiri
33
+ name: activesupport
34
34
  prerelease: false
35
35
  requirement: &id002 !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  segments:
40
+ - 3
40
41
  - 0
41
- version: "0"
42
+ - 0
43
+ - rc2
44
+ version: 3.0.0.rc2
42
45
  type: :runtime
43
46
  version_requirements: *id002
44
47
  description: This gem only provides API for NCBI Eutils. If you need full access to other NCBI databases, try BioRuby (bio gem) instead.