dwc-archive 0.7.6 → 0.7.7

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -9,10 +9,10 @@ source "http://rubygems.org"
9
9
  gem "parsley-store", "~> 0.3.0"
10
10
 
11
11
  group :development do
12
- gem "rspec", "~> 2.3.0"
13
- gem "nokogiri"
14
- gem "cucumber", ">= 0"
15
- gem "bundler", "~> 1.0.0"
12
+ gem "rspec", "~> 2.7.0"
13
+ gem "nokogiri", "~> 1.5.0"
14
+ gem "cucumber", "~> 1.1.3"
15
+ gem "bundler", "~> 1.0"
16
16
  gem "jeweler", "~> 1.6.4"
17
- gem "ruby-debug19"
17
+ gem "ruby-debug19", "~> 0.11.6"
18
18
  end
data/Gemfile.lock CHANGED
@@ -2,42 +2,46 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  archive-tar-minitar (0.5.2)
5
- biodiversity19 (1.0.5)
5
+ biodiversity19 (1.0.9)
6
+ parallel
7
+ parallel
8
+ treetop
6
9
  treetop
7
10
  builder (3.0.0)
8
- columnize (0.3.4)
9
- cucumber (1.1.0)
11
+ columnize (0.3.5)
12
+ cucumber (1.1.3)
10
13
  builder (>= 2.1.2)
11
14
  diff-lcs (>= 1.1.2)
12
- gherkin (~> 2.5.0)
15
+ gherkin (~> 2.6.7)
13
16
  json (>= 1.4.6)
14
17
  term-ansicolor (>= 1.0.6)
15
18
  diff-lcs (1.1.3)
16
- gherkin (2.5.4)
19
+ gherkin (2.6.8)
17
20
  json (>= 1.4.6)
18
21
  git (1.2.5)
19
22
  jeweler (1.6.4)
20
23
  bundler (~> 1.0)
21
24
  git (>= 1.2.5)
22
25
  rake
23
- json (1.6.1)
26
+ json (1.6.3)
24
27
  linecache19 (0.5.12)
25
28
  ruby_core_source (>= 0.1.4)
26
29
  nokogiri (1.5.0)
30
+ parallel (0.5.9)
27
31
  parsley-store (0.3.0)
28
32
  biodiversity19
29
33
  redis
30
34
  polyglot (0.3.3)
31
- rake (0.9.2)
35
+ rake (0.9.2.2)
32
36
  redis (2.2.2)
33
- rspec (2.3.0)
34
- rspec-core (~> 2.3.0)
35
- rspec-expectations (~> 2.3.0)
36
- rspec-mocks (~> 2.3.0)
37
- rspec-core (2.3.1)
38
- rspec-expectations (2.3.0)
37
+ rspec (2.7.0)
38
+ rspec-core (~> 2.7.0)
39
+ rspec-expectations (~> 2.7.0)
40
+ rspec-mocks (~> 2.7.0)
41
+ rspec-core (2.7.1)
42
+ rspec-expectations (2.7.0)
39
43
  diff-lcs (~> 1.1.2)
40
- rspec-mocks (2.3.0)
44
+ rspec-mocks (2.7.0)
41
45
  ruby-debug-base19 (0.11.25)
42
46
  columnize (>= 0.3.1)
43
47
  linecache19 (>= 0.5.11)
@@ -57,10 +61,10 @@ PLATFORMS
57
61
  ruby
58
62
 
59
63
  DEPENDENCIES
60
- bundler (~> 1.0.0)
64
+ bundler
61
65
  cucumber
62
- jeweler (~> 1.6.4)
66
+ jeweler
63
67
  nokogiri
64
68
  parsley-store (~> 0.3.0)
65
- rspec (~> 2.3.0)
69
+ rspec
66
70
  ruby-debug19
data/Rakefile CHANGED
@@ -46,12 +46,12 @@ end
46
46
 
47
47
  task :default => :spec
48
48
 
49
- require 'rdoc/task'
50
- Rake::RDocTask.new do |rdoc|
51
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
52
-
53
- rdoc.rdoc_dir = 'rdoc'
54
- rdoc.title = "dwc-archive #{version}"
55
- rdoc.rdoc_files.include('README*')
56
- rdoc.rdoc_files.include('lib/**/*.rb')
57
- end
49
+ # require 'rdoc/task'
50
+ # Rake::RDocTask.new do |rdoc|
51
+ # version = File.exist?('VERSION') ? File.read('VERSION') : ""
52
+ #
53
+ # rdoc.rdoc_dir = 'rdoc'
54
+ # rdoc.title = "dwc-archive #{version}"
55
+ # rdoc.rdoc_files.include('README*')
56
+ # rdoc.rdoc_files.include('lib/**/*.rb')
57
+ # end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.6
1
+ 0.7.7
data/lib/dwc-archive.rb CHANGED
@@ -2,20 +2,10 @@
2
2
  $:.unshift(File.dirname(__FILE__)) unless
3
3
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
4
4
  R19 = RUBY_VERSION.split('.')[0..1].join('').to_i > 18
5
+ raise "IMPORTANT: dwc-archive gem requires ruby >= 1.9.1" unless R19
5
6
  require 'fileutils'
6
7
  require 'ostruct'
7
-
8
- if R19
9
- require 'csv'
10
- else
11
- raise "IMPORTANT: dwc-archive gem requires ruby >= 1.9.1"
12
- require 'fastercsv'
13
- CSV = FasterCSV
14
- if (defined?(Rails) && Rails::VERSION::MAJOR >= 3 && Rails.env.test?)
15
- $" << 'csv.rb'
16
- end
17
- end
18
-
8
+ require 'csv'
19
9
  require 'logger'
20
10
  require 'dwc-archive/xml_reader'
21
11
  require 'dwc-archive/ingester'
@@ -67,7 +67,6 @@ class DarwinCore
67
67
  private
68
68
 
69
69
  def get_canonical_name(a_scientific_name)
70
- a_scientific_name.force_encoding('utf-8')
71
70
  if @with_canonical_names
72
71
  canonical_name = @parser.parse(a_scientific_name, :canonical_only => true)
73
72
  canonical_name.to_s.empty? ? a_scientific_name : canonical_name
@@ -102,10 +101,10 @@ class DarwinCore
102
101
  def set_scientific_name(row, fields)
103
102
  row[fields[:scientificname]] = 'N/A' unless row[fields[:scientificname]]
104
103
  canonical_name = nil
105
- scientific_name = row[fields[:scientificname]].strip.force_encoding('utf-8')
104
+ scientific_name = row[fields[:scientificname]].strip
106
105
  if separate_canonical_and_authorship?(row, fields)
107
- canonical_name = row[fields[:scientificname]].strip.force_encoding('utf-8') if @with_canonical_names
108
- scientific_name += " #{row[fields[:scientificnameauthorship]].strip.force_encoding('utf-8')}"
106
+ canonical_name = row[fields[:scientificname]].strip if @with_canonical_names
107
+ scientific_name += " #{row[fields[:scientificnameauthorship]].strip}"
109
108
  else
110
109
  canonical_name = get_canonical_name(row[fields[:scientificname]]) if @with_canonical_names
111
110
  end
@@ -9,7 +9,7 @@ class DarwinCore
9
9
  FileUtils.mkdir(@path)
10
10
  @meta_xml_data = {:extensions => []}
11
11
  @eml_xml_data = {:id => nil, :title => nil, :authors => [], :abstract => nil, :citation => nil, :url => nil}
12
- @write = R19 ? 'w:utf-8' : 'w'
12
+ @write = 'w:utf-8'
13
13
  end
14
14
 
15
15
  #TODO refactor!
@@ -4,7 +4,7 @@ class DarwinCore
4
4
  def initialize(data, path)
5
5
  @data = data
6
6
  @path = path
7
- @write = R19 ? 'w:utf-8' : 'w'
7
+ @write = 'w:utf-8'
8
8
  end
9
9
  def create
10
10
  builder = Nokogiri::XML::Builder.new do |xml|
@@ -4,7 +4,7 @@ class DarwinCore
4
4
  def initialize(data, path)
5
5
  @data = data
6
6
  @path = path
7
- @write = R19 ? 'w:utf-8' : 'w'
7
+ @write = 'w:utf-8'
8
8
  end
9
9
 
10
10
  def create
@@ -40,13 +40,8 @@ class DarwinCore
40
40
 
41
41
  def process_csv_row(result, errors, row)
42
42
  str = row.join('')
43
- if R19
44
- str = str.force_encoding('utf-8')
45
- str.encoding.name == "UTF-8" && str.valid_encoding? ? result << row : errors << row
46
- else
47
- require File.join(File.dirname(__FILE__), 'utf_regex_ruby18')
48
- UTF8RGX === str ? result << row : errors << row
49
- end
43
+ str = str.force_encoding('utf-8')
44
+ str.encoding.name == "UTF-8" && str.valid_encoding? ? result << row.map { |f| f.nil? ? nil : f.force_encoding('utf-8') } : errors << row
50
45
  end
51
46
 
52
47
  def get_attributes(exception)
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.6
4
+ version: 0.7.7
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-11-29 00:00:00.000000000Z
12
+ date: 2011-12-02 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: parsley-store
16
- requirement: &70313285716740 !ruby/object:Gem::Requirement
16
+ requirement: &70157662627320 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,54 +21,54 @@ dependencies:
21
21
  version: 0.3.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70313285716740
24
+ version_requirements: *70157662627320
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70313285716120 !ruby/object:Gem::Requirement
27
+ requirement: &70157662625740 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
31
31
  - !ruby/object:Gem::Version
32
- version: 2.3.0
32
+ version: 2.7.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70313285716120
35
+ version_requirements: *70157662625740
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: nokogiri
38
- requirement: &70313285714900 !ruby/object:Gem::Requirement
38
+ requirement: &70157662614720 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
- - - ! '>='
41
+ - - ~>
42
42
  - !ruby/object:Gem::Version
43
- version: '0'
43
+ version: 1.5.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70313285714900
46
+ version_requirements: *70157662614720
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: cucumber
49
- requirement: &70313285714160 !ruby/object:Gem::Requirement
49
+ requirement: &70157662612960 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
- - - ! '>='
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 1.1.3
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70313285714160
57
+ version_requirements: *70157662612960
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: bundler
60
- requirement: &70313285713460 !ruby/object:Gem::Requirement
60
+ requirement: &70157662610660 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
64
64
  - !ruby/object:Gem::Version
65
- version: 1.0.0
65
+ version: '1.0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70313285713460
68
+ version_requirements: *70157662610660
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jeweler
71
- requirement: &70313285712720 !ruby/object:Gem::Requirement
71
+ requirement: &70157662608200 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,21 +76,21 @@ dependencies:
76
76
  version: 1.6.4
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70313285712720
79
+ version_requirements: *70157662608200
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: ruby-debug19
82
- requirement: &70313285712020 !ruby/object:Gem::Requirement
82
+ requirement: &70157662604880 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
- - - ! '>='
85
+ - - ~>
86
86
  - !ruby/object:Gem::Version
87
- version: '0'
87
+ version: 0.11.6
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70313285712020
90
+ version_requirements: *70157662604880
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: parsley-store
93
- requirement: &70313285711280 !ruby/object:Gem::Requirement
93
+ requirement: &70157662602720 !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: *70313285711280
101
+ version_requirements: *70157662602720
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rspec
104
- requirement: &70313285710580 !ruby/object:Gem::Requirement
104
+ requirement: &70157662577620 !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: *70313285710580
112
+ version_requirements: *70157662577620
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: cucumber
115
- requirement: &70313285709840 !ruby/object:Gem::Requirement
115
+ requirement: &70157662576480 !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: *70313285709840
123
+ version_requirements: *70157662576480
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.