dwc-archive 0.5.12 → 0.5.13

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -21,14 +21,12 @@ rescue LoadError
21
21
  puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
22
22
  end
23
23
 
24
- require 'spec/rake/spectask'
25
- Spec::Rake::SpecTask.new(:spec) do |spec|
26
- spec.libs << 'lib' << 'spec'
27
- spec.spec_files = FileList['spec/**/*_spec.rb']
24
+ require 'rspec/core/rake_task'
25
+ RSpec::Core::RakeTask.new(:spec) do |spec|
26
+ spec.pattern = 'spec/**/*_spec.rb'
28
27
  end
29
28
 
30
- Spec::Rake::SpecTask.new(:rcov) do |spec|
31
- spec.libs << 'lib' << 'spec'
29
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
32
30
  spec.pattern = 'spec/**/*_spec.rb'
33
31
  spec.rcov = true
34
32
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.12
1
+ 0.5.13
@@ -6,8 +6,8 @@ Feature: Reading of a Darwing Core Archive
6
6
  Scenario: Creating Darwin Core Archive object
7
7
  Given path to a dwc file "data.tar.gz"
8
8
  When I create a new DarwinCore::Archive instance
9
- Then I should find that the archive is valid
10
- Then I should see what files the archive has
9
+ Then I should find that the archive is valid
10
+ And I should see what files the archive has
11
11
 
12
12
  When I delete expanded files
13
13
  Then they should disappear
@@ -19,9 +19,10 @@ Feature: Reading of a Darwing Core Archive
19
19
 
20
20
  Scenario: Instantiating DarwinCore with tar.gz file
21
21
  Given path to a dwc file "data.tar.gz"
22
- When I create a new DarwinCore instance
22
+ When I create a new DarwinCore instance
23
23
  Then instance should have a valid archive
24
24
  And instance should have a core
25
+ And I should see checksum
25
26
  When I check core data
26
27
  Then I should find core.properties
27
28
  And core.file_path
@@ -30,13 +31,13 @@ Feature: Reading of a Darwing Core Archive
30
31
  And core.size
31
32
  Then DarwinCore instance should have an extensions array
32
33
  And every extension in array should be an instance of DarwinCore::Extension
33
- And extension should have properties, data, file_path, coreid, fields
34
+ And extension should have properties, data, file_path, coreid, fields
34
35
  Then DarwinCore instance should have dwc.metadata object
35
36
  And I should find id, title, creators, metadata provider
36
37
 
37
38
  Scenario: Instantiating DawinCore with zip file
38
39
  Given path to a dwc file "data.zip"
39
- When I create a new DarwinCore instance
40
+ When I create a new DarwinCore instance
40
41
  Then instance should have a valid archive
41
42
 
42
43
  Scenario: Cleaning temporary directory from expanded archives
@@ -49,7 +50,7 @@ Feature: Reading of a Darwing Core Archive
49
50
  When I create a new DarwinCore instance
50
51
  Then I can read its content into memory
51
52
  Then I can read extensions content into memory
52
-
53
+
53
54
  Scenario: Importing data using block
54
55
  Given path to a dwc file "data.tar.gz"
55
56
  When I create a new DarwinCore instance
@@ -42,6 +42,10 @@ Then /^instance should have a core$/ do
42
42
  @dwc.core.class.should == DarwinCore::Core
43
43
  end
44
44
 
45
+ Then /^I should see checksum$/ do
46
+ @dwc.checksum.should == '880775bd100f7b00c49ceefd2d7317daada99b26'
47
+ end
48
+
45
49
  When /^I check core data$/ do
46
50
  @core = @dwc.core
47
51
  end
@@ -198,7 +202,7 @@ Then /^there are paths, synonyms and vernacular names in normalized classificati
198
202
  end
199
203
 
200
204
  Then /^names used in classification can be accessed by "([^"]*)" method$/ do |name_strings|
201
- names = @cn.send(name_strings.to_sym)
205
+ names = @cn.send(name_strings.to_sym)
202
206
  names.size.should > @normalized_classification.size
203
207
  end
204
208
 
@@ -216,7 +220,7 @@ Then /^nodes_ids organized in trees can be accessed by "([^"]*)" method$/ do |tr
216
220
  tree = @cn.send(tree.to_sym)
217
221
  tree.class.should == Hash
218
222
  keys = []
219
- flatten_tree(tree, keys)
223
+ flatten_tree(tree, keys)
220
224
  @normalized_classification.size.should == keys.size
221
225
  end
222
226
 
@@ -1,4 +1,4 @@
1
1
  $LOAD_PATH.unshift(File.dirname(__FILE__) + '/../../lib')
2
2
  require 'dwc-archive'
3
3
 
4
- require 'spec/expectations'
4
+ require 'rspec/expectations'
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
  $:.unshift(File.dirname(__FILE__)) unless
3
- $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
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
5
  require 'fileutils'
6
6
  require 'ostruct'
@@ -30,19 +30,19 @@ require 'dwc-archive/generator_eml_xml'
30
30
  require 'dwc-archive/classification_normalizer'
31
31
 
32
32
  class DarwinCore
33
-
33
+
34
34
  VERSION = open(File.join(File.dirname(__FILE__), '..', 'VERSION')).readline.strip
35
35
 
36
36
  attr_reader :archive, :core, :metadata, :extensions, :classification_normalizer
37
37
  alias :eml :metadata
38
-
38
+
39
39
  DEFAULT_TMP_DIR = "/tmp"
40
-
40
+
41
41
  def self.nil_field?(field)
42
42
  return true if [nil, '', '/N'].include?(field)
43
43
  false
44
44
  end
45
-
45
+
46
46
  def self.clean_all(tmp_dir = DEFAULT_TMP_DIR)
47
47
  Dir.entries(tmp_dir).each do |entry|
48
48
  path = File.join(tmp_dir, entry)
@@ -69,7 +69,8 @@ class DarwinCore
69
69
  end
70
70
 
71
71
  def initialize(dwc_path, tmp_dir = DEFAULT_TMP_DIR)
72
- @archive = DarwinCore::Archive.new(dwc_path, tmp_dir)
72
+ @dwc_path = dwc_path
73
+ @archive = DarwinCore::Archive.new(@dwc_path, tmp_dir)
73
74
  @core = DarwinCore::Core.new(self)
74
75
  @metadata = DarwinCore::Metadata.new(@archive)
75
76
  @extensions = get_extensions
@@ -86,6 +87,10 @@ class DarwinCore
86
87
  !!@core.fields.join('|').downcase.match(/highertaxonid|parentnameusageid/)
87
88
  end
88
89
 
90
+ def checksum
91
+ Digest::SHA1.hexdigest(open(@dwc_path).read)
92
+ end
93
+
89
94
  private
90
95
  def get_extensions
91
96
  res = []
@@ -1,4 +1,4 @@
1
- class DarwinCore
1
+ class DarwinCore
2
2
  module Ingester
3
3
  attr_reader :data, :properties, :encoding, :fields_separator, :size
4
4
  attr_reader :file_path, :fields, :line_separator, :quote_character, :ignore_headers
@@ -20,7 +20,7 @@ class DarwinCore
20
20
  min_size > r.size ? errors << r : process_csv_row(res, errors, r)
21
21
  if (i + index_fix) % batch_size == 0
22
22
  DarwinCore.logger_write(@dwc.object_id, "Ingested %s records from %s" % [(i + index_fix), name])
23
- if block_given?
23
+ if block_given?
24
24
  yield [res, errors]
25
25
  res = []
26
26
  errors = []
@@ -30,7 +30,7 @@ class DarwinCore
30
30
  yield [res, errors] if block_given?
31
31
  [res, errors]
32
32
  end
33
-
33
+
34
34
  private
35
35
  def name
36
36
  self.class.to_s.split('::')[-1].downcase
@@ -60,7 +60,7 @@ class DarwinCore
60
60
  @fields = get_fields
61
61
  raise exception("No data fields are found") if @fields.empty?
62
62
  end
63
-
63
+
64
64
  def get_file_path
65
65
  file = @data[:location] || @data[:attributes][:location] || @data[:files][:location]
66
66
  File.join(@path, file)
@@ -78,7 +78,7 @@ class DarwinCore
78
78
  end
79
79
 
80
80
  def get_size
81
- `wc -l #{@file_path}`.match(/^([\d]+)\s/)[1].to_i
81
+ `wc -l #{@file_path}`.match(/^\s*([\d]+)\s/)[1].to_i
82
82
  end
83
83
  end
84
84
  end
@@ -2,10 +2,10 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
3
  require 'rubygems'
4
4
  require 'dwc-archive'
5
- require 'spec'
6
- require 'spec/autorun'
5
+ require 'rspec'
6
+ require 'rspec/autorun'
7
7
  require 'ruby-debug'
8
8
 
9
- Spec::Runner.configure do |config|
10
-
9
+ RSpec.configure do |config|
10
+
11
11
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dwc-archive
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 17
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 5
8
- - 12
9
- version: 0.5.12
9
+ - 13
10
+ version: 0.5.13
10
11
  platform: ruby
11
12
  authors:
12
13
  - Dmitry Mozzherin
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2011-01-03 00:00:00 -05:00
18
+ date: 2011-04-07 00:00:00 -04:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
@@ -25,6 +26,7 @@ dependencies:
25
26
  requirements:
26
27
  - - ">="
27
28
  - !ruby/object:Gem::Version
29
+ hash: 23
28
30
  segments:
29
31
  - 0
30
32
  - 2
@@ -40,6 +42,7 @@ dependencies:
40
42
  requirements:
41
43
  - - ">="
42
44
  - !ruby/object:Gem::Version
45
+ hash: 13
43
46
  segments:
44
47
  - 1
45
48
  - 2
@@ -55,6 +58,7 @@ dependencies:
55
58
  requirements:
56
59
  - - ">="
57
60
  - !ruby/object:Gem::Version
61
+ hash: 3
58
62
  segments:
59
63
  - 0
60
64
  version: "0"
@@ -71,7 +75,6 @@ extra_rdoc_files:
71
75
  - README.rdoc
72
76
  files:
73
77
  - .document
74
- - .gitignore
75
78
  - LICENSE
76
79
  - README.rdoc
77
80
  - Rakefile
@@ -119,8 +122,8 @@ homepage: http://github.com/GlobalNamesArchitecture/dwc-archive
119
122
  licenses: []
120
123
 
121
124
  post_install_message:
122
- rdoc_options:
123
- - --charset=UTF-8
125
+ rdoc_options: []
126
+
124
127
  require_paths:
125
128
  - lib
126
129
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -128,6 +131,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
131
  requirements:
129
132
  - - ">="
130
133
  - !ruby/object:Gem::Version
134
+ hash: 3
131
135
  segments:
132
136
  - 0
133
137
  version: "0"
@@ -136,6 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
140
  requirements:
137
141
  - - ">="
138
142
  - !ruby/object:Gem::Version
143
+ hash: 3
139
144
  segments:
140
145
  - 0
141
146
  version: "0"
data/.gitignore DELETED
@@ -1,24 +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
- *.gemspec
21
-
22
- ## PROJECT::SPECIFIC
23
- tags
24
- bin