biodiversity19 3.1.5 → 3.1.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +10 -0
- data/.ruby-version +1 -1
- data/CHANGELOG +2 -0
- data/LICENSE +1 -1
- data/README.md +3 -3
- data/Rakefile +14 -14
- data/biodiversity.gemspec +19 -19
- data/lib/biodiversity/parser.rb +1 -1
- data/lib/biodiversity/parser/scientific_name_canonical.rb +13 -13
- data/lib/biodiversity/parser/scientific_name_canonical.treetop +17 -17
- data/lib/biodiversity/parser/scientific_name_clean.rb +163 -131
- data/lib/biodiversity/parser/scientific_name_clean.treetop +62 -56
- data/lib/biodiversity/parser/scientific_name_dirty.rb +36 -36
- data/lib/biodiversity/parser/scientific_name_dirty.treetop +50 -53
- data/lib/biodiversity/version.rb +2 -2
- data/spec/files/test_data.txt +6 -1
- data/spec/parser/scientific_name_canonical_spec.rb +21 -21
- data/spec/parser/scientific_name_clean_spec.rb +750 -500
- data/spec/parser/scientific_name_dirty_spec.rb +91 -90
- data/spec/parser/scientific_name_spec.rb +3 -1
- data/spec/spec_helper.rb +21 -21
- metadata +17 -16
@@ -5,69 +5,70 @@ describe ScientificNameDirty do
|
|
5
5
|
before(:all) do
|
6
6
|
set_parser(ScientificNameDirtyParser.new)
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
it 'parses clean names' do
|
10
10
|
expect(parse('Betula verucosa (L.) Bar. 1899')).to_not be_nil
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
it 'parses double parenthesis' do
|
14
14
|
sn = 'Eichornia crassipes ( (Martius) ) Solms-Laub.'
|
15
15
|
expect(parse(sn)).to_not be_nil
|
16
16
|
expect(value(sn)).to eq 'Eichornia crassipes (Martius) Solms-Laub.'
|
17
|
-
expect(details(sn)).to eq [{:
|
18
|
-
:
|
19
|
-
:
|
20
|
-
:
|
21
|
-
:
|
22
|
-
:
|
23
|
-
:
|
24
|
-
expect(pos(sn)).to eq({0=>['genus', 9], 10=>['species', 19],
|
25
|
-
23=>['author_word', 30],
|
17
|
+
expect(details(sn)).to eq [{ genus: { string: 'Eichornia' },
|
18
|
+
species: { string: 'crassipes',
|
19
|
+
authorship: '( (Martius) ) Solms-Laub.',
|
20
|
+
combinationAuthorTeam: { authorTeam: 'Solms-Laub.',
|
21
|
+
author: ['Solms-Laub.'] },
|
22
|
+
basionymAuthorTeam: { authorTeam: 'Martius',
|
23
|
+
author: ['Martius'] } } }]
|
24
|
+
expect(pos(sn)).to eq({ 0 => ['genus', 9], 10 => ['species', 19],
|
25
|
+
23 => ['author_word', 30],
|
26
|
+
34 => ['author_word', 45] })
|
26
27
|
end
|
27
|
-
|
28
|
+
|
28
29
|
it 'parses year without author' do
|
29
30
|
sn = 'Acarospora cratericola 1929'
|
30
31
|
expect(parse(sn)).to_not be_nil
|
31
|
-
expect(pos(sn)).to eq({0=>['genus', 10],
|
32
|
-
11=>['species', 22], 23=>['year', 27]})
|
33
|
-
expect(details(sn)).to eq [{:
|
34
|
-
:
|
35
|
-
:
|
32
|
+
expect(pos(sn)).to eq({ 0 => ['genus', 10],
|
33
|
+
11 => ['species', 22], 23 => ['year', 27] })
|
34
|
+
expect(details(sn)).to eq [{ genus: { string: 'Acarospora' },
|
35
|
+
species: { string: 'cratericola',
|
36
|
+
year: '1929' } }]
|
36
37
|
end
|
37
|
-
|
38
|
+
|
38
39
|
it 'parses double years' do
|
39
40
|
sn = 'Tridentella tangeroae Bruce, 1987-92'
|
40
41
|
expect(parse(sn)).to_not be_nil
|
41
|
-
expect(pos(sn)).to eq({0=>['genus', 11], 12=>['species', 21],
|
42
|
-
22=>['author_word', 27], 29=>['year', 36]})
|
43
|
-
expect(details(sn)).to eq [{:
|
44
|
-
:
|
45
|
-
:
|
46
|
-
:
|
42
|
+
expect(pos(sn)).to eq({ 0 => ['genus', 11], 12 => ['species', 21],
|
43
|
+
22 => ['author_word', 27], 29 => ['year', 36] })
|
44
|
+
expect(details(sn)).to eq [{ genus: { string: 'Tridentella' },
|
45
|
+
species: { string: 'tangeroae', authorship: 'Bruce, 1987-92',
|
46
|
+
basionymAuthorTeam: { authorTeam: 'Bruce', author: ['Bruce'],
|
47
|
+
year: '1987-92' } } }]
|
47
48
|
end
|
48
|
-
|
49
|
+
|
49
50
|
it 'parses dirty years' do
|
50
51
|
expect(parse('Tridentella tangeroae Bruce, 1988B')).to_not be_nil
|
51
52
|
expect(parse('Tridentella tangeroae Bruce, 1988b')).to_not be_nil
|
52
53
|
expect(parse('Tridentella tangeroae Bruce, 1988d')).to_not be_nil
|
53
54
|
sn = 'Tridentella tangeroae Bruce, 198?'
|
54
55
|
expect(parse(sn)).to_not be_nil
|
55
|
-
expect(pos(sn)).to eq({0=>['genus', 11], 12=>['species', 21],
|
56
|
-
22=>['author_word', 27], 29=>['year', 33]})
|
56
|
+
expect(pos(sn)).to eq({ 0 => ['genus', 11], 12 => ['species', 21],
|
57
|
+
22 => ['author_word', 27], 29 => ['year', 33] })
|
57
58
|
end
|
58
|
-
|
59
|
+
|
59
60
|
it 'parses year with page number' do
|
60
61
|
sn = 'Gymnodactylus irregularis WERMUTH 1965: 54'
|
61
62
|
expect(parse(sn)).to_not be_nil
|
62
63
|
expect(value(sn)).to eq 'Gymnodactylus irregularis Wermuth 1965'
|
63
|
-
expect(details(sn)).to eq [{:
|
64
|
-
:
|
65
|
-
:
|
66
|
-
:
|
67
|
-
expect(pos(sn)).to eq({0=>['genus', 13], 14=>['species', 25],
|
68
|
-
26=>['author_word', 33], 34=>['year', 38]})
|
64
|
+
expect(details(sn)).to eq [{ genus: { string: 'Gymnodactylus' },
|
65
|
+
species: { string: 'irregularis', authorship: 'WERMUTH 1965: 54',
|
66
|
+
basionymAuthorTeam: { authorTeam: 'WERMUTH', author: ['Wermuth'],
|
67
|
+
year: '1965' } } }]
|
68
|
+
expect(pos(sn)).to eq({ 0 => ['genus', 13], 14 => ['species', 25],
|
69
|
+
26 => ['author_word', 33], 34 => ['year', 38] })
|
69
70
|
end
|
70
|
-
|
71
|
+
|
71
72
|
it 'parses year with []' do
|
72
73
|
expect(parse('Anthoscopus Cabanis [1851]')).to_not be_nil
|
73
74
|
expect(value('Anthoscopus Cabanis [185?]')).
|
@@ -77,86 +78,86 @@ describe ScientificNameDirty do
|
|
77
78
|
to eq 'Anthoscopus Cabanis (1851)'
|
78
79
|
sn = 'Anthoscopus Cabanis [1851?]'
|
79
80
|
expect(value(sn)).to eq 'Anthoscopus Cabanis (1851?)'
|
80
|
-
expect(details(sn)).to eq [{:
|
81
|
-
:
|
82
|
-
{:
|
83
|
-
:
|
84
|
-
expect(pos(sn)).to eq({0=>['uninomial', 11],
|
85
|
-
12=>['author_word', 19], 21=>['year', 26]})
|
81
|
+
expect(details(sn)).to eq [{ uninomial: { string: 'Anthoscopus',
|
82
|
+
authorship: 'Cabanis [1851?]', basionymAuthorTeam:
|
83
|
+
{ authorTeam: 'Cabanis', author: ['Cabanis'],
|
84
|
+
approximate_year: '(1851?)' } } }]
|
85
|
+
expect(pos(sn)).to eq({ 0 => ['uninomial', 11],
|
86
|
+
12 => ['author_word', 19], 21 => ['year', 26] })
|
86
87
|
sn = 'Trismegistia monodii Ando, 1973 [1974]'
|
87
88
|
expect(parse(sn)).to_not be_nil
|
88
89
|
|
89
90
|
#should it be 'Trismegistia monodii Ando 1973 (1974)' instead?
|
90
|
-
expect(value(sn)).to eq 'Trismegistia monodii Ando 1973 (1974)'
|
91
|
-
|
92
|
-
expect(details(sn)).to eq [{:
|
93
|
-
:
|
94
|
-
:
|
95
|
-
:
|
96
|
-
expect(pos(sn)).to eq({0=>['genus', 12], 13=>['species', 20],
|
97
|
-
21=>['author_word', 25], 27=>['year', 31], 33=>['year', 37]})
|
91
|
+
expect(value(sn)).to eq 'Trismegistia monodii Ando 1973 (1974)'
|
92
|
+
|
93
|
+
expect(details(sn)).to eq [{ genus: { string: 'Trismegistia' },
|
94
|
+
species: { string: 'monodii', authorship: 'Ando, 1973 [1974]',
|
95
|
+
basionymAuthorTeam: { authorTeam: 'Ando', author: ['Ando'],
|
96
|
+
year: '1973', approximate_year: '(1974)' } } }]
|
97
|
+
expect(pos(sn)).to eq({ 0 => ['genus', 12], 13 => ['species', 20],
|
98
|
+
21 => ['author_word', 25], 27 => ['year', 31], 33 => ['year', 37] })
|
98
99
|
expect(parse('Zygaena witti Wiegel [1973]')).to_not be_nil
|
99
100
|
sn = 'Deyeuxia coarctata Kunth, 1815 [1816]'
|
100
101
|
expect(parse(sn)).to_not be_nil
|
101
|
-
expect(pos(sn)).to eq({0=>['genus', 8], 9=>['species', 18],
|
102
|
-
19=>['author_word', 24], 26=>['year', 30],
|
103
|
-
32=>['year', 36]})
|
102
|
+
expect(pos(sn)).to eq({ 0 => ['genus', 8], 9 => ['species', 18],
|
103
|
+
19 => ['author_word', 24], 26 => ['year', 30],
|
104
|
+
32 => ['year', 36] })
|
104
105
|
end
|
105
|
-
|
106
|
+
|
106
107
|
it 'parses new stuff' do
|
107
108
|
sn = 'Zoropsis (TaKeoa) nishimurai Yaginuma, 1971' #skipping for now
|
108
109
|
sn = 'Campylobacter pyloridis Marshall et al.1985.'
|
109
|
-
expect(details(sn)).to eq [{:
|
110
|
-
:
|
111
|
-
:
|
112
|
-
:
|
110
|
+
expect(details(sn)).to eq [{ genus: { string: 'Campylobacter' },
|
111
|
+
species: { string: 'pyloridis', authorship: 'Marshall et al.1985.',
|
112
|
+
basionymAuthorTeam: { authorTeam: 'Marshall et al.',
|
113
|
+
author: ['Marshall et al.'], year: '1985' } } }]
|
113
114
|
sn = 'Beijerinckia derxii venezuelae corrig. Thompson and Skerman, 1981'
|
114
|
-
expect(details(sn)).to eq [{:
|
115
|
-
:
|
116
|
-
:
|
117
|
-
:
|
118
|
-
:
|
115
|
+
expect(details(sn)).to eq [{ genus: { string: 'Beijerinckia' },
|
116
|
+
species: { string: 'derxii' }, infraspecies: [{ string: 'venezuelae',
|
117
|
+
rank: 'n/a', authorship: 'Thompson and Skerman, 1981',
|
118
|
+
basionymAuthorTeam: { authorTeam: 'Thompson and Skerman',
|
119
|
+
author: ['Thompson', 'Skerman'], year: '1981' } }] }]
|
119
120
|
expect(details('Streptomyces parvisporogenes ignotus 1960')).
|
120
|
-
to eq [{:
|
121
|
-
:
|
122
|
-
:
|
121
|
+
to eq [{ genus: { string: 'Streptomyces' },
|
122
|
+
species: { string: 'parvisporogenes' },
|
123
|
+
infraspecies: [{ string: 'ignotus', rank: 'n/a', year: '1960' }] }]
|
123
124
|
expect(details('Oscillaria caviae Simons 1920, according to Simons 1922')).
|
124
|
-
to eq [{:
|
125
|
-
:
|
126
|
-
{:
|
125
|
+
to eq [{ genus: { string: 'Oscillaria' }, species: { string: 'caviae',
|
126
|
+
authorship: 'Simons 1920', basionymAuthorTeam:
|
127
|
+
{ authorTeam: 'Simons', author: ['Simons'], year: '1920' } } }]
|
127
128
|
sn = 'Bacterium monocytogenes hominis\'\' Nyfeldt 1932'
|
128
|
-
expect(details(sn)).to eq [{:
|
129
|
-
:
|
130
|
-
:
|
129
|
+
expect(details(sn)).to eq [{ genus: { string: 'Bacterium' },
|
130
|
+
species: { string: 'monocytogenes' },
|
131
|
+
infraspecies: [{ string: 'hominis', rank: 'n/a' }] }]
|
131
132
|
sn = 'Choriozopella trägårdhi Lawrence, 1947'
|
132
|
-
expect(details(sn)).to eq [{:
|
133
|
-
:
|
134
|
-
:
|
135
|
-
:
|
133
|
+
expect(details(sn)).to eq [{ genus: { string: 'Choriozopella' },
|
134
|
+
species: { string: 'tragardhi', authorship: 'Lawrence, 1947',
|
135
|
+
basionymAuthorTeam: { authorTeam: 'Lawrence', author: ['Lawrence'],
|
136
|
+
year: '1947' } } }]
|
136
137
|
sn = 'Sparassus françoisi Simon, 1898'
|
137
|
-
expect(details(sn)).to eq [{:
|
138
|
-
:
|
139
|
-
:
|
140
|
-
:
|
138
|
+
expect(details(sn)).to eq [{ genus: { string: 'Sparassus' },
|
139
|
+
species: { string: 'francoisi', authorship: 'Simon, 1898',
|
140
|
+
basionymAuthorTeam: { authorTeam: 'Simon', author: ['Simon'],
|
141
|
+
year: '1898' } } }]
|
141
142
|
sn = 'Dyarcyops birói Kulczynski, 1908'
|
142
|
-
expect(details(sn)).to eq [{:
|
143
|
-
:
|
144
|
-
:
|
145
|
-
:
|
143
|
+
expect(details(sn)).to eq [{ genus: { string: 'Dyarcyops' },
|
144
|
+
species: { string: 'biroi', authorship: 'Kulczynski, 1908',
|
145
|
+
basionymAuthorTeam: { authorTeam: 'Kulczynski',
|
146
|
+
author: ['Kulczynski'], year: '1908' } } }]
|
146
147
|
end
|
147
|
-
|
148
|
+
|
148
149
|
it 'parses names with common utf-8 charactes' do
|
149
|
-
names = ['Rühlella','Sténométope laevissimus Bibron 1855',
|
150
|
+
names = ['Rühlella','Sténométope laevissimus Bibron 1855',
|
150
151
|
'Döringina Ihering 1929'].each do |name|
|
151
152
|
expect(parse(name)).to_not be_nil
|
152
153
|
end
|
153
|
-
expect(details('Hirsutëlla mâle')).to eq [{:
|
154
|
-
:
|
154
|
+
expect(details('Hirsutëlla mâle')).to eq [{ genus: { string: 'Hirsutella' },
|
155
|
+
species: { string: 'male' } }]
|
155
156
|
expect(details('Triticum repens vulgäre')).
|
156
|
-
to eq [{:
|
157
|
-
:
|
157
|
+
to eq [{ genus: { string: 'Triticum' }, species: { string: 'repens' },
|
158
|
+
infraspecies: [{ string: 'vulgare', rank: 'n/a' }] }]
|
158
159
|
end
|
159
|
-
|
160
|
+
|
160
161
|
# AsterophUa japonica
|
161
162
|
# AsyTuktus ridiculw Parent 1931
|
162
163
|
# AtremOEa Staud 1870
|
@@ -91,7 +91,9 @@ describe 'ScientificNameParser with ranked canonicals' do
|
|
91
91
|
['Abies homolepis forma umbilicata (Mayr) Schelle',
|
92
92
|
'Abies homolepis forma umbilicata'],
|
93
93
|
['Quercus ilex ssp. ballota (Desf.) Samp',
|
94
|
-
'Quercus ilex ssp. ballota']
|
94
|
+
'Quercus ilex ssp. ballota'],
|
95
|
+
["Physarum globuliferum forma. flavum Leontyev & Dudka",
|
96
|
+
"Physarum globuliferum forma. flavum"]
|
95
97
|
]
|
96
98
|
data.each do |d|
|
97
99
|
parsed = @parser.parse(d[0])[:scientificName][:canonical]
|
data/spec/spec_helper.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
1
|
+
require "yaml"
|
2
|
+
require "treetop"
|
3
|
+
require "json"
|
4
|
+
require "biodiversity"
|
5
|
+
require "webmock/rspec"
|
6
6
|
|
7
7
|
|
8
8
|
RSpec.configure do |c|
|
@@ -10,14 +10,14 @@ RSpec.configure do |c|
|
|
10
10
|
end
|
11
11
|
|
12
12
|
dir = File.dirname(__FILE__)
|
13
|
-
Treetop.load(File.expand_path(File.join(dir,
|
14
|
-
'../lib/biodiversity/parser/scientific_name_clean')))
|
15
13
|
Treetop.load(File.expand_path(File.join(dir,
|
16
|
-
|
17
|
-
Treetop.load(File.expand_path(File.join(dir,
|
18
|
-
|
14
|
+
"../lib/biodiversity/parser/scientific_name_clean")))
|
15
|
+
Treetop.load(File.expand_path(File.join(dir,
|
16
|
+
"../lib/biodiversity/parser/scientific_name_dirty")))
|
17
|
+
Treetop.load(File.expand_path(File.join(dir,
|
18
|
+
"../lib/biodiversity/parser/scientific_name_canonical")))
|
19
19
|
|
20
|
-
PARSER_TEST_VERSION =
|
20
|
+
PARSER_TEST_VERSION = "test_version"
|
21
21
|
|
22
22
|
def set_parser(parser)
|
23
23
|
@parser = parser
|
@@ -45,36 +45,36 @@ end
|
|
45
45
|
|
46
46
|
def json(input)
|
47
47
|
parse(input).
|
48
|
-
to_json.gsub(/"parser_version":"[^"]*"/,
|
48
|
+
to_json.gsub(/"parser_version":"[^"]*"/,
|
49
49
|
%Q["parser_version":"#{PARSER_TEST_VERSION}"])
|
50
50
|
end
|
51
51
|
|
52
52
|
def debug(input)
|
53
53
|
res = parse(input)
|
54
|
-
puts
|
54
|
+
puts "<pre>"
|
55
55
|
if res
|
56
|
-
puts
|
56
|
+
puts "success!"
|
57
57
|
puts res.inspect
|
58
58
|
else
|
59
59
|
puts input
|
60
60
|
val = @parser.failure_reason.to_s.match(/column [0-9]*/).
|
61
|
-
to_s.gsub(/column /,
|
62
|
-
print (
|
63
|
-
print "^ Computer says '
|
61
|
+
to_s.gsub(/column /, "").to_i
|
62
|
+
print ("-" * (val - 1))
|
63
|
+
print "^ Computer says 'ni'!\n"
|
64
64
|
puts @parser.failure_reason
|
65
65
|
puts @parser.to_yaml
|
66
66
|
end
|
67
|
-
puts
|
67
|
+
puts "</pre>"
|
68
68
|
end
|
69
69
|
|
70
70
|
def read_test_file
|
71
|
-
f = open(File.expand_path(
|
71
|
+
f = open(File.expand_path("../files/test_data.txt", __FILE__))
|
72
72
|
f.each do |line|
|
73
73
|
name, jsn = line.split("|")
|
74
74
|
if line.match(/^\s*#/) == nil && name && jsn
|
75
|
-
yield({:
|
75
|
+
yield({ name: name, jsn: jsn })
|
76
76
|
else
|
77
|
-
yield({:
|
77
|
+
yield({ comment: line })
|
78
78
|
end
|
79
79
|
end
|
80
80
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: biodiversity19
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitry Mozzherin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: treetop
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.4'
|
34
34
|
type: :runtime
|
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: '1.
|
40
|
+
version: '1.4'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: unicode_utils
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,56 +58,56 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '1.
|
61
|
+
version: '1.8'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '1.
|
68
|
+
version: '1.8'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '10.
|
75
|
+
version: '10.4'
|
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: '10.
|
82
|
+
version: '10.4'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '3.
|
89
|
+
version: '3.2'
|
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.
|
96
|
+
version: '3.2'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: webmock
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '1.
|
103
|
+
version: '1.20'
|
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: '1.
|
110
|
+
version: '1.20'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rr
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,19 +123,19 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '1.1'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: rubocop
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
131
|
+
version: '0.29'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
138
|
+
version: '0.29'
|
139
139
|
description: Tools for biodiversity informatics
|
140
140
|
email: dmozzherin@gmail.com
|
141
141
|
executables:
|
@@ -146,6 +146,7 @@ extra_rdoc_files: []
|
|
146
146
|
files:
|
147
147
|
- ".document"
|
148
148
|
- ".gitignore"
|
149
|
+
- ".rubocop.yml"
|
149
150
|
- ".ruby-version"
|
150
151
|
- ".travis.yml"
|
151
152
|
- CHANGELOG
|
@@ -199,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
199
200
|
version: '0'
|
200
201
|
requirements: []
|
201
202
|
rubyforge_project:
|
202
|
-
rubygems_version: 2.
|
203
|
+
rubygems_version: 2.4.3
|
203
204
|
signing_key:
|
204
205
|
specification_version: 4
|
205
206
|
summary: Parser of scientific names
|