dwc-archive 0.7.10 → 0.7.11

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.10
1
+ 0.7.11
@@ -4,12 +4,13 @@ require 'parsley-store'
4
4
  class DarwinCore
5
5
 
6
6
  class TaxonNormalized
7
- attr_accessor :id, :parent_id, :classification_path_id, :classification_path, :current_name, :current_name_canonical, :synonyms, :vernacular_names, :rank, :status
7
+ attr_accessor :id, :source, :parent_id, :classification_path_id, :classification_path, :current_name, :current_name_canonical, :synonyms, :vernacular_names, :rank, :status
8
8
 
9
9
  def initialize
10
10
  @id = @parent_id = @rank = @status = nil
11
11
  @current_name = ''
12
12
  @current_name_canonical = ''
13
+ @source = ''
13
14
  @classification_path = []
14
15
  @classification_path_id = []
15
16
  @synonyms = []
@@ -18,7 +19,7 @@ class DarwinCore
18
19
 
19
20
  end
20
21
 
21
- class SynonymNormalized < Struct.new(:id, :name, :canonical_name, :status);end
22
+ class SynonymNormalized < Struct.new(:id, :name, :canonical_name, :status, :source);end
22
23
  class VernacularNormalized < Struct.new(:name, :language, :locality, :country_code);end
23
24
 
24
25
  class ClassificationNormalizer
@@ -100,7 +101,9 @@ class DarwinCore
100
101
  row[@core_fields[:id]],
101
102
  row[@core_fields[:scientificname]],
102
103
  row[@core_fields[:canonicalname]],
103
- @core_fields[:taxonomicstatus] ? row[@core_fields[:taxonomicstatus]] : nil)
104
+ @core_fields[:taxonomicstatus] ? row[@core_fields[:taxonomicstatus]] : nil,
105
+ @core_fields[:source] ? row[@core_fields[:source]] : nil
106
+ )
104
107
  taxon.synonyms << synonym
105
108
  add_name_string(synonym.name)
106
109
  add_name_string(synonym.canonical_name)
@@ -151,6 +154,7 @@ class DarwinCore
151
154
  taxon.parent_id = has_parent_id? ? r[parent_id] : nil
152
155
  taxon.rank = r[@core_fields[:taxonrank]] if @core_fields[:taxonrank]
153
156
  taxon.status = r[@core_fields[:taxonomicstatus]] if @core_fields[:taxonomicstatus]
157
+ taxon.source = r[@core_fields[:source]] if @core_fields[:source]
154
158
  add_name_string(taxon.current_name)
155
159
  add_name_string(taxon.current_name_canonical) if taxon.current_name_canonical && !taxon.current_name_canonical.empty?
156
160
  end
@@ -244,7 +248,9 @@ class DarwinCore
244
248
  nil,
245
249
  r[fields[:scientificname]],
246
250
  r[fields[:canonicalname]],
247
- fields[:taxonomicstatus] ? r[fields[:taxonomicstatus]] : nil)
251
+ fields[:taxonomicstatus] ? r[fields[:taxonomicstatus]] : nil,
252
+ fields[:source] ? r[fields[:source]] : nil
253
+ )
248
254
  if @normalized_data[r[fields[:id]]]
249
255
  @normalized_data[r[fields[:id]]].synonyms << synonym
250
256
  add_name_string(synonym.name)
@@ -66,7 +66,7 @@ describe DarwinCore do
66
66
  cn.normalized_data.size.should > 0
67
67
  end
68
68
 
69
- it "should return name_strings back" do
69
+ it "should return array or hash of name_strings back" do
70
70
  file = File.join(@file_dir, 'data.tar.gz')
71
71
  dwc = DarwinCore.new(file)
72
72
  cn = DarwinCore::ClassificationNormalizer.new(dwc)
@@ -101,6 +101,7 @@ describe DarwinCore do
101
101
  path_encodings.size.should == 1
102
102
  path_encodings[0].to_s.should == "UTF-8"
103
103
  norm['leptogastrinae:tid:2857'].class.should == DarwinCore::TaxonNormalized
104
+ norm['leptogastrinae:tid:2857'].source.should == 'http://leptogastrinae.lifedesks.org/pages/2857'
104
105
  end
105
106
 
106
107
  it "should assemble synonyms from core" do
@@ -110,6 +111,7 @@ describe DarwinCore do
110
111
  syn = norm.values.select {|n| n.synonyms.size > 0}[0].synonyms[0]
111
112
  syn.id.should == 'leptogastrinae:tid:127'
112
113
  syn.name.should == "Leptogastridae"
114
+ syn.source.should == 'http://leptogastrinae.lifedesks.org/pages/127'
113
115
  end
114
116
 
115
117
  it "should be able to assemble vernacular names from an extension" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dwc-archive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.10
4
+ version: 0.7.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-08 00:00:00.000000000Z
12
+ date: 2011-12-09 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: parsley-store
16
- requirement: &70276232306380 !ruby/object:Gem::Requirement
16
+ requirement: &70111883158320 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.3.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70276232306380
24
+ version_requirements: *70111883158320
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70276232305380 !ruby/object:Gem::Requirement
27
+ requirement: &70111883157760 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.7.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70276232305380
35
+ version_requirements: *70111883157760
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: nokogiri
38
- requirement: &70276232304860 !ruby/object:Gem::Requirement
38
+ requirement: &70111883157140 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.5.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70276232304860
46
+ version_requirements: *70111883157140
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: cucumber
49
- requirement: &70276232304380 !ruby/object:Gem::Requirement
49
+ requirement: &70111883156600 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.1.3
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70276232304380
57
+ version_requirements: *70111883156600
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: bundler
60
- requirement: &70276232303880 !ruby/object:Gem::Requirement
60
+ requirement: &70111883156040 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '1.0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70276232303880
68
+ version_requirements: *70111883156040
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jeweler
71
- requirement: &70276232303360 !ruby/object:Gem::Requirement
71
+ requirement: &70111883155440 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.6.4
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70276232303360
79
+ version_requirements: *70111883155440
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: ruby-debug19
82
- requirement: &70276232302860 !ruby/object:Gem::Requirement
82
+ requirement: &70111883154680 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 0.11.6
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70276232302860
90
+ version_requirements: *70111883154680
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: parsley-store
93
- requirement: &70276232302340 !ruby/object:Gem::Requirement
93
+ requirement: &70111883153980 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 0.3.0
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *70276232302340
101
+ version_requirements: *70111883153980
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rspec
104
- requirement: &70276232301840 !ruby/object:Gem::Requirement
104
+ requirement: &70111883153440 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: 1.2.9
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70276232301840
112
+ version_requirements: *70111883153440
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: cucumber
115
- requirement: &70276232301300 !ruby/object:Gem::Requirement
115
+ requirement: &70111883152900 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *70276232301300
123
+ version_requirements: *70111883152900
124
124
  description: Darwin Core Archive is the current standard exchange format for GLobal
125
125
  Names Architecture modules. This gem makes it easy to incorporate files in Darwin
126
126
  Core Archive format into a ruby project.
@@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
201
  version: '0'
202
202
  requirements: []
203
203
  rubyforge_project:
204
- rubygems_version: 1.8.6
204
+ rubygems_version: 1.8.10
205
205
  signing_key:
206
206
  specification_version: 3
207
207
  summary: Handler of Darwin Core Archive files