taxonifi 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 9d85186e1881c23e9b86bfe4b16fffc0e49975eb
4
- data.tar.gz: 67a97f32c554be5d8c0a3b7cbb263519315b13b4
2
+ SHA256:
3
+ metadata.gz: 15ea6036e683f7de25293b311a0c85082480f32013b7a8427dbb90a247937076
4
+ data.tar.gz: 37f71618bd92e1af915361c0328856708097f76badbe80fbe6fda93edb0e4c02
5
5
  SHA512:
6
- metadata.gz: a7114b112d9b612c4b609fb781c9dd176bb86f63a873de4fa6e4f90197cc0bd57af0567402a660e2fadb950073d200f2ee6fb5a946af251665fb03e1c203b722
7
- data.tar.gz: e777bd25aa4e5d22b672985483ffa697a4b94fa43cca51a2334a65559b0c62247cd60045e99c3861027f9e14d3057fbd18873586d5d0e10f3310fe80a4a097ec
6
+ metadata.gz: fa9586dde79b0abd633bbea51a739a807a299621ba0bade46953dd477a7dd8e6710770527c8ad18035f7467c275952064d4548a0fd641a299a0663ce1b9851d5
7
+ data.tar.gz: 171c01787b879fea5fcbb65e1a344ce0f9e95d34a013f6b4a917112edb1a18c48a78fa4f8adf59b86a154e8bed3fc5009a44455058ea2cb9fa8fc829b3478801
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3.1
1
+ 2.6.5
data/.travis.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.1.5
3
+ - 2.3.1
4
4
  bundler_args: --without development
5
5
  before_install: ./travis/before_install.sh
6
6
  branches:
data/Gemfile.lock CHANGED
@@ -1,36 +1,34 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- taxonifi (0.4.0)
5
- require_all (~> 1.3.3)
4
+ taxonifi (0.5.0)
5
+ require_all (~> 3.0)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- awesome_print (1.6.1)
11
- builder (3.2.2)
12
- byebug (8.2.5)
13
- json (1.8.3)
14
- power_assert (0.3.0)
15
- rake (11.1.2)
16
- rdoc (4.2.2)
17
- json (~> 1.4)
18
- require_all (1.3.3)
19
- test-unit (3.1.8)
10
+ awesome_print (1.8.0)
11
+ builder (3.2.4)
12
+ byebug (11.1.1)
13
+ power_assert (1.1.5)
14
+ rake (13.0.1)
15
+ rdoc (6.2.1)
16
+ require_all (3.0.0)
17
+ test-unit (3.3.5)
20
18
  power_assert
21
19
 
22
20
  PLATFORMS
23
21
  ruby
24
22
 
25
23
  DEPENDENCIES
26
- awesome_print (~> 1.6)
24
+ awesome_print (~> 1.8)
27
25
  builder (~> 3.2)
28
26
  bundler (~> 1.12)
29
- byebug (~> 8.2)
30
- rake (~> 11.1)
31
- rdoc (~> 4.2.2)
27
+ byebug (~> 11)
28
+ rake (~> 13.0)
29
+ rdoc (~> 6.2)
32
30
  taxonifi!
33
- test-unit (~> 3.1.8)
31
+ test-unit (~> 3.3.5)
34
32
 
35
33
  BUNDLED WITH
36
- 1.12.3
34
+ 1.17.3
data/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
 
2
- [![Continuous Integration Status][1]][2]
2
+ [![Build Status](https://travis-ci.org/SpeciesFileGroup/taxonifi.svg?branch=master)](https://travis-ci.org/SpeciesFileGroup/taxonifi)
3
3
  [![Dependency Status][7]][8]
4
4
 
5
5
 
6
6
  taxonifi
7
7
  ========
8
- There will always be "legacy" taxonomic data that needs shuffling around. The taxonifi gem is a suite of general purpose tools that act as a middle layer for data-conversion purposes (e.g. migrating legacy taxonomic databases). It's first application was to convert DwC-style data downloaded from EoL into a Species File. The code is well documented in unit tests, poke around to see if it might be useful. In particular, if you've considered building a collection of regular expressions particular to biodiversity data look at the Tokens code and related tests.
8
+ There will always be "legacy" taxonomic data that needs shuffling around. The taxonifi gem is a suite of general purpose tools that act as a middle layer for data-conversion purposes (e.g. migrating legacy taxonomic databases). Its first application was to convert DwC-style data downloaded from EoL into a Species File. The code is well documented in unit tests, poke around to see if it might be useful. In particular, if you've considered building a collection of regular expressions particular to biodiversity data look at the Tokens code and related tests.
9
9
 
10
10
  Overall, the goal is to provide well documented (and unit-tested) coded that is broadly useful, and vanilla enough to encourage other to fork and hack on their own.
11
11
 
@@ -16,9 +16,9 @@ Source is available at https://github.com/SpeciesFile/taxonifi . The rdoc API i
16
16
  What's next?
17
17
  ------------
18
18
 
19
- Before you jump on board you should also check out similar code from the Global Names team at https://github.com/GlobalNamesArchitecture. Future integration and merging of shared functionality is planned. Code will be released in an "early-and-often" approach.
19
+ Before you jump on board you should also check out similar code from the Global Names team at https://github.com/GlobalNamesArchitecture. Future integration and merging of shared functionality is planned.
20
20
 
21
- Taxonifi is presently coded for convience, not speed (though it's not necessarily slow). It assumes that conversion processes are typically one-offs that can afford to run over a longer period of time (read minutes rather than seconds). Reading, and fully parsing into objects, around 25k rows of nomenclature (class to species, inc. author year, = ~45k names) in to memory as Taxonifi objects benchmarks at around 2 minutes. Faster indexing is planned as needed, likely using Redis (see GNA link above).
21
+ Taxonifi is presently coded for convience, not speed (though it's not necessarily slow). It assumes that conversion processes are typically one-offs that can afford to run over a longer period of time (read minutes rather than seconds). Reading, and fully parsing into objects, around 25k rows of nomenclature (class to species, inc. author year, = ~45k names) in to memory as Taxonifi objects benchmarks at around 2 minutes.
22
22
 
23
23
  Getting started
24
24
  ---------------
data/lib/taxonifi.rb CHANGED
@@ -7,7 +7,7 @@ module Taxonifi
7
7
 
8
8
  class TaxonifiError < StandardError; end;
9
9
 
10
- # Taxonomic ranks.
10
+ # Taxonomic ranks.
11
11
  RANKS = %w{
12
12
  kingdom
13
13
  phylum
@@ -17,7 +17,7 @@ module Taxonifi
17
17
  infraclass
18
18
  cohort
19
19
  superorder
20
- order
20
+ order
21
21
  suborder
22
22
  infraorder
23
23
  superfamily
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), "../model/base.rb"))
1
+ require_rel 'base'
2
2
 
3
3
  module Taxonifi
4
4
  module Model
@@ -1,9 +1,11 @@
1
+ require_rel 'shared_class_methods'
2
+
1
3
  module Taxonifi
2
4
  module Model
3
5
 
4
6
  # A base class for all Taxonifi::Models that represent
5
- # "individuals" (as opposed to collections of indviduals).
6
- class Base
7
+ # "individuals" (as opposed to collections of indviduals).
8
+ class Base
7
9
 
8
10
  include Taxonifi::Model::SharedClassMethods
9
11
 
@@ -23,8 +25,8 @@ module Taxonifi
23
25
  @properties = {}
24
26
  end
25
27
 
26
- # Assign on new() all attributes for the ATTRIBUTES
27
- # constant in a given subclass.
28
+ # Assign on new() all attributes for the ATTRIBUTES
29
+ # constant in a given subclass.
28
30
  # !! Check validity prior to building.
29
31
  def build(attributes, opts)
30
32
  attributes.each do |c|
@@ -39,12 +41,12 @@ module Taxonifi
39
41
 
40
42
  # Add a key/value pair to @properties
41
43
  def add_property(key, value)
42
- if @properties[key]
44
+ if @properties[key]
43
45
  return false
44
46
  else
45
47
  @properties.merge!(key => value)
46
48
  end
47
- end
49
+ end
48
50
 
49
51
  # Replace an existing key/value pair in @properties
50
52
  def replace_property(key,value)
@@ -53,19 +55,19 @@ module Taxonifi
53
55
  else
54
56
  @properties.merge!(key => value)
55
57
  end
56
- end
57
-
58
- # Delete an existing key/value pair in @properties
58
+ end
59
+
60
+ # Delete an existing key/value pair in @properties
59
61
  def delete_property(key)
60
62
  if !@properties[key]
61
- @properties.delete(key)
63
+ @properties.delete(key)
62
64
  else
63
65
  @properties.merge!(key => value)
64
66
  end
65
67
  end
66
68
 
67
69
  def id=(id)
68
- raise Taxonifi::ModelError, "Base model objects must have Fixnum ids." if !id.nil? && id.class != Fixnum
70
+ raise Taxonifi::ModelError, "Base model objects must have Fixnum ids." if !id.nil? && id.class != ::Integer
69
71
  @id = id
70
72
  end
71
73
 
@@ -74,7 +76,7 @@ module Taxonifi
74
76
  def ancestor_ids
75
77
  i = 0 # check for recursion
76
78
  ids = []
77
- p = parent
79
+ p = parent
78
80
  while !p.nil?
79
81
  ids.unshift p.id
80
82
  p = p.parent
@@ -90,14 +92,14 @@ module Taxonifi
90
92
  def ancestors
91
93
  i = 0 # check for recursion
92
94
  ancestors = []
93
- p = parent
95
+ p = parent
94
96
  while !p.nil?
95
97
  ancestors.unshift p
96
98
  p = p.parent
97
99
  i += 1
98
100
  raise Taxonifi::ModelError, "Infite recursion in parent string detected for Base model object #{id.display_name}." if i > 100
99
101
  end
100
- ancestors
102
+ ancestors
101
103
  end
102
104
  end
103
105
 
@@ -1,3 +1,3 @@
1
1
  module Taxonifi
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
data/taxonifi.gemspec CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.version = Taxonifi::VERSION
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["mjy"]
11
+ s.authors = ["Matt Yoder"]
12
12
  s.date = "2013-03-27"
13
13
 
14
14
  s.summary = "A general purpose framework for scripted handling of taxonomic names or other heirarchical metadata."
@@ -22,20 +22,21 @@ Gem::Specification.new do |s|
22
22
  s.files = `git ls-files -z`.split("\x0")
23
23
  s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
24
24
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
25
- s.homepage = "http://github.com/SpeciesFile/taxonifi"
25
+ s.homepage = "https://github.com/SpeciesFile/taxonifi"
26
26
  s.licenses = ["MIT"]
27
27
  s.require_paths = ["lib"]
28
28
  s.rubygems_version = "2.4.5"
29
+ s.metadata = { "source_code_uri" => "https://github.com/SpeciesFileGroup/taxonifi" }
29
30
 
30
- s.add_dependency "require_all", "~> 1.3.3"
31
+ s.add_dependency "require_all", "~> 3.0"
32
+ s.required_ruby_version = '~> 2.6'
31
33
 
32
- s.add_development_dependency "rake", '~> 11.1'
33
- s.add_development_dependency "byebug", "~> 8.2"
34
+ s.add_development_dependency "rake", '~> 13.0'
35
+ s.add_development_dependency "byebug", "~> 11"
34
36
  s.add_development_dependency "bundler", "~> 1.12"
35
- s.add_development_dependency 'awesome_print', '~> 1.6'
36
- s.add_development_dependency 'test-unit', '~> 3.1.8'
37
- s.add_development_dependency "rdoc", "~> 4.2.2"
37
+ s.add_development_dependency 'awesome_print', '~> 1.8'
38
+ s.add_development_dependency 'test-unit', '~> 3.3.5'
39
+ s.add_development_dependency "rdoc", "~> 6.2"
38
40
  s.add_development_dependency "builder", "~> 3.2"
39
41
 
40
42
  end
41
-
data/test/helper.rb CHANGED
@@ -26,14 +26,12 @@ def generic_csv_with_names
26
26
  end
27
27
 
28
28
  def names
29
- file = File.expand_path(File.join(File.dirname(__FILE__), 'file_fixtures/names.csv'))
30
-
31
- csv = CSV.read(file, {
32
- headers: true,
33
- col_sep: ",",
34
- header_converters: :downcase
35
- } )
36
- nc = Taxonifi::Lumper.create_name_collection(:csv => csv, :initial_id => 1)
29
+ file = File.expand_path(File.join(File.dirname(__FILE__), 'file_fixtures/names.csv'))
30
+
31
+ csv = CSV.read(file, {
32
+ headers: true,
33
+ col_sep: ",",
34
+ header_converters: :downcase
35
+ } )
36
+ nc = Taxonifi::Lumper.create_name_collection(csv: csv, initial_id: 1)
37
37
  end
38
-
39
-
@@ -7,66 +7,66 @@ class TestTaxonifiName < Test::Unit::TestCase
7
7
  end
8
8
 
9
9
  def test_new_name
10
- assert n = Taxonifi::Model::Name.new()
10
+ assert n = Taxonifi::Model::Name.new()
11
11
  end
12
12
 
13
13
  def test_that_name_has_a_name
14
- n = Taxonifi::Model::Name.new()
14
+ n = Taxonifi::Model::Name.new()
15
15
  assert n.respond_to?(:name)
16
16
  end
17
17
 
18
18
  def test_that_name_has_an_id
19
- n = Taxonifi::Model::Name.new()
19
+ n = Taxonifi::Model::Name.new()
20
20
  assert n.respond_to?(:id)
21
21
  end
22
22
 
23
23
  def test_that_name_has_a_parent
24
- n = Taxonifi::Model::Name.new()
25
- assert n.respond_to?(:parent)
24
+ n = Taxonifi::Model::Name.new()
25
+ assert n.respond_to?(:parent)
26
26
  end
27
27
 
28
28
  def test_that_name_has_a_rank
29
- n = Taxonifi::Model::Name.new()
30
- assert n.respond_to?(:rank)
29
+ n = Taxonifi::Model::Name.new()
30
+ assert n.respond_to?(:rank)
31
31
  end
32
32
 
33
33
  def test_that_name_has_an_author
34
- n = Taxonifi::Model::Name.new()
35
- assert n.respond_to?(:author)
34
+ n = Taxonifi::Model::Name.new()
35
+ assert n.respond_to?(:author)
36
36
  end
37
37
 
38
38
  def test_that_name_has_a_year
39
- n = Taxonifi::Model::Name.new()
40
- assert n.respond_to?(:year)
39
+ n = Taxonifi::Model::Name.new()
40
+ assert n.respond_to?(:year)
41
41
  end
42
42
 
43
43
  def test_that_name_returns_false_with_bad_rank
44
- n = Taxonifi::Model::Name.new()
44
+ n = Taxonifi::Model::Name.new()
45
45
  assert_raise Taxonifi::NameError do
46
46
  n.rank = "FOO"
47
- end
47
+ end
48
48
  end
49
49
 
50
50
  def test_that_name_allows_legal_rank
51
- n = Taxonifi::Model::Name.new()
51
+ n = Taxonifi::Model::Name.new()
52
52
  assert n.rank = "genus"
53
53
  end
54
54
 
55
55
  def test_that_name_rank_is_case_insensitive
56
- n = Taxonifi::Model::Name.new()
56
+ n = Taxonifi::Model::Name.new()
57
57
  assert n.rank = "Genus"
58
58
  assert n.rank = "GENUS"
59
59
  end
60
60
 
61
61
  def test_that_rank_is_required_before_parent
62
- n = Taxonifi::Model::Name.new()
62
+ n = Taxonifi::Model::Name.new()
63
63
  assert_raise Taxonifi::NameError do
64
- n.parent = Taxonifi::Model::Name.new()
64
+ n.parent = Taxonifi::Model::Name.new()
65
65
  end
66
66
  end
67
67
 
68
68
  def test_that_parent_is_a_taxonifi_name
69
- n = Taxonifi::Model::Name.new()
69
+ n = Taxonifi::Model::Name.new()
70
70
  n.rank = "genus" # avoid that raise
71
71
  assert_raise Taxonifi::NameError do
72
72
  n.parent = "foo"
@@ -74,15 +74,15 @@ class TestTaxonifiName < Test::Unit::TestCase
74
74
  end
75
75
 
76
76
  def test_that_rank_can_be_set
77
- n = Taxonifi::Model::Name.new()
77
+ n = Taxonifi::Model::Name.new()
78
78
  n.rank = "family"
79
79
  assert_equal "family", n.rank
80
80
  end
81
81
 
82
82
  def test_that_parent_is_higher_rank_than_child
83
- n = Taxonifi::Model::Name.new()
83
+ n = Taxonifi::Model::Name.new()
84
84
  n.rank = "genus"
85
- p = Taxonifi::Model::Name.new()
85
+ p = Taxonifi::Model::Name.new()
86
86
  p.rank = "species"
87
87
  assert_raise Taxonifi::NameError do
88
88
  n.parent = p
@@ -90,9 +90,9 @@ class TestTaxonifiName < Test::Unit::TestCase
90
90
  end
91
91
 
92
92
  def test_that_parent_can_be_set
93
- n = Taxonifi::Model::Name.new()
93
+ n = Taxonifi::Model::Name.new()
94
94
  n.rank = "genus"
95
- p = Taxonifi::Model::Name.new()
95
+ p = Taxonifi::Model::Name.new()
96
96
  p.rank = "species"
97
97
  assert p.parent = n
98
98
  assert_equal "genus", p.parent.rank
@@ -139,30 +139,30 @@ class TestTaxonifiName < Test::Unit::TestCase
139
139
  create_a_few_names
140
140
  n5 = Taxonifi::Model::Name.new(:name => "beep", :rank => "Subspecies", :author => "Frank", :year => 2020, :id => 11, :parent => @n4 )
141
141
 
142
- assert_equal 'Foo', @n2.nomenclator_name
142
+ assert_equal 'Foo', @n2.nomenclator_name
143
143
  assert_equal 'Foo (Bar)', @n3.nomenclator_name
144
144
  assert_equal 'Foo (Bar) boo', @n4.nomenclator_name
145
145
  assert_equal 'Foo (Bar) boo beep', n5.nomenclator_name
146
146
  end
147
147
 
148
148
  def test_ancestors
149
- create_a_few_names
149
+ create_a_few_names
150
150
  assert_equal [@n0, @n1], @n2.ancestors
151
151
  end
152
152
 
153
153
  def test_ancestor_ids
154
- create_a_few_names
154
+ create_a_few_names
155
155
  assert_equal [2,15], @n2.ancestor_ids
156
156
  end
157
157
 
158
158
  # TODO: fix to inject valid id to confirm to SF
159
159
  def test_parent_ids_sf_style
160
- create_a_few_names
160
+ create_a_few_names
161
161
  assert_equal '2-15-14g-19s-11', @n4.parent_ids_sf_style
162
162
  assert_equal '2-15-14g-19s', @n3.parent_ids_sf_style
163
163
  assert_equal '2-15-14g', @n2.parent_ids_sf_style
164
164
  assert_equal '2-15', @n1.parent_ids_sf_style
165
- end
165
+ end
166
166
 
167
167
  def test_author_year_index
168
168
  n = Taxonifi::Model::Name.new(author_year: 'Smith and Jones, 1920')
@@ -170,17 +170,21 @@ class TestTaxonifiName < Test::Unit::TestCase
170
170
  end
171
171
 
172
172
  def test_genus_group_parent
173
- n1 = Taxonifi::Model::Name.new(name: "Fooidae", rank: "family", author: nil, year: nil) #
174
- n2 = Taxonifi::Model::Name.new(name: "Foo", rank: "genus", author: nil , year: nil, :parent => n1) # Foo
173
+ n1 = Taxonifi::Model::Name.new(name: "Fooidae", rank: "family", author: nil, year: nil) #
174
+ n2 = Taxonifi::Model::Name.new(name: "Foo", rank: "genus", author: nil , year: "", :parent => n1) # Foo
175
175
  n3 = Taxonifi::Model::Name.new(name: "Bar", rank: "subgenus", author: nil , year: nil, :parent => n2) # Foo (Bar)
176
- n4 = Taxonifi::Model::Name.new(name: "aus", rank: "species", author: nil , year: nil, :parent => n3) # Foo (Bar) aus
176
+ n4 = Taxonifi::Model::Name.new(name: "aus", rank: "species", author: nil , year: nil, :parent => n3) # Foo (Bar) aus
177
177
  n5 = Taxonifi::Model::Name.new(name: "bus", rank: "subspecies", author: 'Smith', year: 1920, :parent => n4) # Foo (Bar) aus bus
178
178
 
179
179
  assert_equal n3, n4.genus_group_parent
180
180
  assert_equal n3, n5.genus_group_parent
181
+
182
+ # No zeros injected
183
+ assert_equal nil, n3.year
184
+ assert_equal "", n2.year
181
185
  end
182
186
 
183
- #
187
+ #
184
188
  # ICZN Subclass
185
189
  #
186
190
 
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: taxonifi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
- - mjy
7
+ - Matt Yoder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.3.3
19
+ version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.3.3
26
+ version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '11.1'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '11.1'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: byebug
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '8.2'
47
+ version: '11'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '8.2'
54
+ version: '11'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -72,42 +72,42 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.6'
75
+ version: '1.8'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.6'
82
+ version: '1.8'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: test-unit
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 3.1.8
89
+ version: 3.3.5
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 3.1.8
96
+ version: 3.3.5
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rdoc
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 4.2.2
103
+ version: '6.2'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 4.2.2
110
+ version: '6.2'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: builder
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -202,27 +202,27 @@ files:
202
202
  - test/test_taxonifi_ref_collection.rb
203
203
  - test/test_taxonifi_species_name.rb
204
204
  - travis/before_install.sh
205
- homepage: http://github.com/SpeciesFile/taxonifi
205
+ homepage: https://github.com/SpeciesFile/taxonifi
206
206
  licenses:
207
207
  - MIT
208
- metadata: {}
208
+ metadata:
209
+ source_code_uri: https://github.com/SpeciesFileGroup/taxonifi
209
210
  post_install_message:
210
211
  rdoc_options: []
211
212
  require_paths:
212
213
  - lib
213
214
  required_ruby_version: !ruby/object:Gem::Requirement
214
215
  requirements:
215
- - - ">="
216
+ - - "~>"
216
217
  - !ruby/object:Gem::Version
217
- version: '0'
218
+ version: '2.6'
218
219
  required_rubygems_version: !ruby/object:Gem::Requirement
219
220
  requirements:
220
221
  - - ">="
221
222
  - !ruby/object:Gem::Version
222
223
  version: '0'
223
224
  requirements: []
224
- rubyforge_project:
225
- rubygems_version: 2.5.1
225
+ rubygems_version: 3.0.6
226
226
  signing_key:
227
227
  specification_version: 4
228
228
  summary: A general purpose framework for scripted handling of taxonomic names or other