rubyMorphbank 0.2.5 → 0.2.6

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.5
1
+ 0.2.6
@@ -27,20 +27,18 @@ class Request
27
27
  :keywords => ''
28
28
  }.merge!(options)
29
29
 
30
- # check for legal parameters
30
+ # Check for legal parameters
31
31
  opt.keys.each do |p|
32
32
  raise RubyMorphbankError, "#{p} is not a valid parameter" if !VALID_OPTIONS[opt[:version]].include?(p)
33
33
  end
34
34
 
35
-
36
35
  # TODO: add some proper sanitation?!
37
36
  opt[:keywords].gsub!(/\s+/, '+') if opt[:keywords].length > 0
38
37
 
39
-
40
38
  # create the request
41
39
  @request_url = SERVICES_URI + "method=#{opt[:method]}" +
42
40
  opt.keys.sort{|a,b| a.to_s <=> b.to_s}.collect{
43
- |k| ( (URI_PARAMS.include?(k) && (!opt[k].nil? || opt[k].empty?)) ? "&#{k.to_s}=#{opt[k]}" : '')
41
+ |k| ( (URI_PARAMS.include?(k) && ( !opt[k].nil? || (opt[k] && opt[k].empty?)) ) ? "&#{k.to_s}=#{opt[k]}" : '')
44
42
  }.join
45
43
 
46
44
  # and some housekeepers
@@ -51,7 +49,4 @@ class Request
51
49
  Response.new(self)
52
50
  end
53
51
 
54
- # .root.elements.each(xpath){}.map do |row|
55
-
56
- ## REXML::XPath.match(@xml, '//object/width').collect{|e| e.text.to_s}
57
52
  end
@@ -41,32 +41,32 @@ module RubyMorphbank
41
41
 
42
42
  end
43
43
 
44
+ # Modified from http://snippets.dzone.com/posts/show/6181
44
45
 
45
46
  ## Base/REXML extension ##
46
47
 
47
- # modified from http://snippets.dzone.com/posts/show/6181
48
-
49
- # convert an array into a hash
50
- class Array
51
- def to_h
52
- Hash[*self]
53
- end
54
- end
55
-
56
48
  # neither of these extensions is particularly good, they don't recurse etc.
57
49
  class REXML::Document
58
50
  def record(xpath)
59
51
  self.root.elements.each(xpath + '/*'){}.inject([]) do |r,node|
60
52
  r << node.name.to_s << node.text.to_s.strip
61
- end.to_h
53
+ end.make_a_hash
62
54
  end
63
55
 
64
56
  def records(xpath)
65
57
  self.root.elements.each(xpath){}.map do |row|
66
58
  row.elements.each{}.inject([]) do |r,node|
67
59
  r << node.name.to_s << node.text.to_s.strip
68
- end.to_h
60
+ end.make_a_hash
69
61
  end
70
62
  end
71
63
  end
72
64
 
65
+ # Patch to convert arrays to hashes. Not the best solution at all.
66
+ class Array
67
+ def make_a_hash # don't use to_<foo>, conflicts with other nasty patchwork (e.g. Alchemist gem)
68
+ Hash[*self]
69
+ end
70
+ end
71
+
72
+
@@ -0,0 +1,48 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{rubyMorphbank}
8
+ s.version = "0.2.6"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["mjy"]
12
+ s.date = %q{2011-07-25}
13
+ s.description = %q{Uses the Morphbank API to query and return results from the Morphbank database.}
14
+ s.email = %q{diapriid@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "README.rdoc"
17
+ ]
18
+ s.files = [
19
+ ".document",
20
+ "README.rdoc",
21
+ "Rakefile",
22
+ "VERSION",
23
+ "init.rb",
24
+ "lib/request.rb",
25
+ "lib/response.rb",
26
+ "lib/rubyMorphbank.rb",
27
+ "rubyMorphbank.gemspec",
28
+ "test/helper.rb",
29
+ "test/test_rubyMorphbank.rb"
30
+ ]
31
+ s.homepage = %q{http://github.com/mjy/rubyMorphbank}
32
+ s.require_paths = ["lib"]
33
+ s.rubygems_version = %q{1.7.2}
34
+ s.summary = %q{Simple Morphbank (http://morphbank.net) services accessor.}
35
+
36
+ if s.respond_to? :specification_version then
37
+ s.specification_version = 3
38
+
39
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
40
+ s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
41
+ else
42
+ s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
43
+ end
44
+ else
45
+ s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
46
+ end
47
+ end
48
+
@@ -11,14 +11,13 @@ class TestRubyMorphbank < Test::Unit::TestCase
11
11
  end
12
12
 
13
13
  should "return an hash object using get_metadata_for_one_image" do
14
- # WARNING: this XML to hash is not a terribly useful conversion, the process drops all children and attributes
14
+ # WARNING: this XML2Hash is not a terribly useful conversion, the process drops all children and attributes
15
15
  hash = metadata_hash_for_one_image(195815) # It's fixed data, not the best test, but if it's gone something is seriously wrong anyways
16
16
  assert_equal '1360', hash['width']
17
17
  end
18
18
 
19
19
  end
20
20
 
21
-
22
21
  class TestRequest < Test::Unit::TestCase
23
22
 
24
23
  should "return a properly formatted request url with no options" do
@@ -29,7 +28,6 @@ class TestRequest < Test::Unit::TestCase
29
28
 
30
29
  end
31
30
 
32
-
33
31
  class TestResponse < Test::Unit::TestCase
34
32
 
35
33
  should "return initialize with a unparameterized request" do
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyMorphbank
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 27
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
8
  - 2
8
- - 5
9
- version: 0.2.5
9
+ - 6
10
+ version: 0.2.6
10
11
  platform: ruby
11
12
  authors:
12
13
  - mjy
@@ -14,16 +15,17 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2011-02-01 00:00:00 -05:00
18
- default_executable:
18
+ date: 2011-07-25 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: thoughtbot-shoulda
22
22
  prerelease: false
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
24
25
  requirements:
25
26
  - - ">="
26
27
  - !ruby/object:Gem::Version
28
+ hash: 3
27
29
  segments:
28
30
  - 0
29
31
  version: "0"
@@ -39,7 +41,6 @@ extra_rdoc_files:
39
41
  - README.rdoc
40
42
  files:
41
43
  - .document
42
- - .gitignore
43
44
  - README.rdoc
44
45
  - Rakefile
45
46
  - VERSION
@@ -47,38 +48,41 @@ files:
47
48
  - lib/request.rb
48
49
  - lib/response.rb
49
50
  - lib/rubyMorphbank.rb
51
+ - rubyMorphbank.gemspec
50
52
  - test/helper.rb
51
53
  - test/test_rubyMorphbank.rb
52
- has_rdoc: true
53
54
  homepage: http://github.com/mjy/rubyMorphbank
54
55
  licenses: []
55
56
 
56
57
  post_install_message:
57
- rdoc_options:
58
- - --charset=UTF-8
58
+ rdoc_options: []
59
+
59
60
  require_paths:
60
61
  - lib
61
62
  required_ruby_version: !ruby/object:Gem::Requirement
63
+ none: false
62
64
  requirements:
63
65
  - - ">="
64
66
  - !ruby/object:Gem::Version
67
+ hash: 3
65
68
  segments:
66
69
  - 0
67
70
  version: "0"
68
71
  required_rubygems_version: !ruby/object:Gem::Requirement
72
+ none: false
69
73
  requirements:
70
74
  - - ">="
71
75
  - !ruby/object:Gem::Version
76
+ hash: 3
72
77
  segments:
73
78
  - 0
74
79
  version: "0"
75
80
  requirements: []
76
81
 
77
82
  rubyforge_project:
78
- rubygems_version: 1.3.6
83
+ rubygems_version: 1.7.2
79
84
  signing_key:
80
85
  specification_version: 3
81
86
  summary: Simple Morphbank (http://morphbank.net) services accessor.
82
- test_files:
83
- - test/helper.rb
84
- - test/test_rubyMorphbank.rb
87
+ test_files: []
88
+
data/.gitignore DELETED
@@ -1,21 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC