dwc-archive 0.9.6 → 1.1.1
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 +7 -0
- data/.gitignore +31 -0
- data/.rspec +3 -0
- data/.rubocop.yml +23 -0
- data/.ruby-version +1 -0
- data/.travis.yml +4 -5
- data/CHANGELOG +15 -7
- data/Gemfile +3 -15
- data/LICENSE +1 -1
- data/README.md +135 -111
- data/Rakefile +13 -54
- data/dwc-archive.gemspec +37 -0
- data/features/step_definitions/dwc-creator_steps.rb +5 -5
- data/features/step_definitions/dwc-reader_steps.rb +47 -28
- data/features/support/env.rb +1 -1
- data/lib/dwc_archive.rb +121 -0
- data/lib/dwc_archive/archive.rb +59 -0
- data/lib/dwc_archive/classification_normalizer.rb +382 -0
- data/lib/dwc_archive/core.rb +25 -0
- data/lib/{dwc-archive → dwc_archive}/errors.rb +2 -0
- data/lib/dwc_archive/expander.rb +85 -0
- data/lib/{dwc-archive → dwc_archive}/extension.rb +5 -3
- data/lib/dwc_archive/generator.rb +90 -0
- data/lib/dwc_archive/generator_eml_xml.rb +116 -0
- data/lib/dwc_archive/generator_meta_xml.rb +72 -0
- data/lib/dwc_archive/gnub_taxon.rb +14 -0
- data/lib/dwc_archive/ingester.rb +106 -0
- data/lib/dwc_archive/metadata.rb +56 -0
- data/lib/dwc_archive/taxon_normalized.rb +23 -0
- data/lib/dwc_archive/version.rb +6 -0
- data/lib/dwc_archive/xml_reader.rb +89 -0
- data/spec/files/file with characters(3).gz b/data/spec/files/file with → characters(3).tar.gz +0 -0
- data/spec/files/generator_eml.xml +47 -0
- data/spec/files/generator_meta.xml +19 -0
- data/spec/lib/classification_normalizer_spec.rb +214 -0
- data/spec/lib/core_spec.rb +100 -0
- data/spec/lib/darwin_core_spec.rb +249 -0
- data/spec/lib/generator_eml_xml_spec.rb +22 -0
- data/spec/lib/generator_meta_xml_spec.rb +22 -0
- data/spec/lib/generator_spec.rb +124 -0
- data/spec/lib/gnub_taxon_spec.rb +32 -0
- data/spec/lib/metadata_spec.rb +89 -0
- data/spec/lib/taxon_normalized_spec.rb +142 -0
- data/spec/lib/xml_reader_spec.rb +11 -11
- data/spec/spec_helper.rb +78 -6
- metadata +180 -92
- data/.rvmrc +0 -1
- data/Gemfile.lock +0 -155
- data/VERSION +0 -1
- data/lib/dwc-archive.rb +0 -95
- data/lib/dwc-archive/.expander.rb.swo +0 -0
- data/lib/dwc-archive/archive.rb +0 -37
- data/lib/dwc-archive/classification_normalizer.rb +0 -424
- data/lib/dwc-archive/core.rb +0 -17
- data/lib/dwc-archive/expander.rb +0 -80
- data/lib/dwc-archive/generator.rb +0 -75
- data/lib/dwc-archive/generator_eml_xml.rb +0 -84
- data/lib/dwc-archive/generator_meta_xml.rb +0 -50
- data/lib/dwc-archive/ingester.rb +0 -101
- data/lib/dwc-archive/metadata.rb +0 -42
- data/lib/dwc-archive/utf_regex_ruby18.rb +0 -10
- data/lib/dwc-archive/xml_reader.rb +0 -64
- data/spec/lib/dwc-archive_spec.rb +0 -250
- data/spec/spec.opts +0 -1
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a5d4e174cb4ec6df2328fe99abb52b13587c74f22f01efb2a9017db4d9f1d7ba
|
4
|
+
data.tar.gz: e341038db2a23282173cf2e4671750739464dca6076f7560694cc40251bdd036
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8b51b82724e21acab76e1763dc2375658080a16dc440c9913fd632aff195a45c34e7bf9446cf5d4afc9fc397c8ee562763ab36532ab5992421e5ed3f2df64273
|
7
|
+
data.tar.gz: 04cbcc92c8b565b2c5f8e8bf082d284b65c55520d91f19c16bc63789519ea374f5ed0466c176ce69907a83566caa8efd2f834399f7b57a26801603455cf2b118
|
data/.gitignore
ADDED
@@ -0,0 +1,31 @@
|
|
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
|
+
install
|
21
|
+
Gemfile.lock
|
22
|
+
|
23
|
+
## PROJECT::SPECIFIC
|
24
|
+
tags
|
25
|
+
bin
|
26
|
+
.bundle
|
27
|
+
bundle_bin
|
28
|
+
Gemfile.lock
|
29
|
+
.byebug_history
|
30
|
+
|
31
|
+
|
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
AllCops:
|
2
|
+
TargetRubyVersion: 2.6
|
3
|
+
Exclude:
|
4
|
+
- features/**/*
|
5
|
+
- .bundle/**/*
|
6
|
+
- bundle_bin/**/*
|
7
|
+
- lib/dwc_archive/ingester.rb
|
8
|
+
- lib/dwc_archive/generator_meta_xml.rb
|
9
|
+
- lib/dwc_archive/generator_eml_xml.rb
|
10
|
+
- lib/dwc_archive/classification_normalizer.rb
|
11
|
+
|
12
|
+
Style/StringLiterals:
|
13
|
+
EnforcedStyle: double_quotes
|
14
|
+
|
15
|
+
Layout/DotPosition:
|
16
|
+
EnforcedStyle: trailing
|
17
|
+
|
18
|
+
Metrics/BlockLength:
|
19
|
+
Exclude:
|
20
|
+
- 'Rakefile'
|
21
|
+
- '*.gemspec'
|
22
|
+
- '**/*.rake'
|
23
|
+
- 'spec/**/*spec.rb'
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.7.1
|
data/.travis.yml
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
rvm:
|
2
|
-
-
|
3
|
-
- 2.
|
2
|
+
- 2.5
|
3
|
+
- 2.6
|
4
|
+
- 2.7
|
4
5
|
before_install:
|
5
6
|
- sudo apt-get update
|
6
|
-
-
|
7
|
-
bundler_args: --without development
|
7
|
+
- gem install bundler
|
8
8
|
script:
|
9
9
|
- bundle exec cucumber
|
10
10
|
- bundle exec rake
|
11
11
|
branches:
|
12
12
|
only:
|
13
13
|
- master
|
14
|
-
|
data/CHANGELOG
CHANGED
@@ -1,13 +1,21 @@
|
|
1
|
-
|
1
|
+
1.1.0 Update name parser to go-based biodiversity
|
2
2
|
|
3
|
-
0.
|
3
|
+
1.0.1 Cleanup and gems update
|
4
4
|
|
5
|
-
0.9.
|
5
|
+
0.9.11 Removed VERSION duplicate
|
6
6
|
|
7
|
-
0.
|
7
|
+
0.9.7 Refactoring and tests improvements
|
8
8
|
|
9
|
-
0.
|
9
|
+
0.9.6 Added support for GNUB DwCA files
|
10
10
|
|
11
|
-
0.
|
11
|
+
0.9.4 Gem dependencies updated, added travis support
|
12
12
|
|
13
|
-
0.
|
13
|
+
0.9.0 Migrated code to ruby 1.9.3
|
14
|
+
|
15
|
+
0.8.3 Updated outdated exception rasing
|
16
|
+
|
17
|
+
0.8.2 Removed species info from linnean classification path
|
18
|
+
|
19
|
+
0.8.1 Linnean classification path is now only for species and infraspecies with canonical forms. It ends with a canonical form of the taxon
|
20
|
+
|
21
|
+
0.8.0 Added linnean classification path to normalized data from DwCA. It consists of data associated with clades like 'kingdom', 'order' etc.
|
data/Gemfile
CHANGED
@@ -1,17 +1,5 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
4
|
-
gem 'parsley-store', '~> 0.3.2'
|
5
|
-
gem 'archive-tar-minitar', '~> 0.5'
|
3
|
+
source "https://rubygems.org"
|
6
4
|
|
7
|
-
|
8
|
-
gem 'debugger', '~> 1.3'
|
9
|
-
end
|
10
|
-
|
11
|
-
group :test do
|
12
|
-
gem 'rspec', '~> 2.13'
|
13
|
-
gem 'cucumber', '~> 1.3'
|
14
|
-
gem 'bundler', '~> 1.3'
|
15
|
-
gem 'jeweler', '~> 1.8'
|
16
|
-
gem 'jazz_hands', '~> 0.5'
|
17
|
-
end
|
5
|
+
gemspec
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -3,145 +3,156 @@ Darwin Core Archive
|
|
3
3
|
|
4
4
|
[![Gem Version][1]][2]
|
5
5
|
[![Continuous Integration Status][3]][4]
|
6
|
-
[![
|
6
|
+
[![Coverage Status][5]][6]
|
7
|
+
[![CodePolice][7]][8]
|
8
|
+
[![Dependency Status][9]][10]
|
7
9
|
|
8
10
|
Darwin Core Archive format is a current standard for information exchange
|
9
11
|
between Global Names Architecture modules. This gem allows to work with
|
10
12
|
Darwin Core Archive data compressed to either zip or tar.gz files.
|
11
|
-
More information about Darwing Core Archive can be found on a [GBIF page:][
|
13
|
+
More information about Darwing Core Archive can be found on a [GBIF page:][11]
|
12
14
|
|
13
15
|
Installation
|
14
16
|
------------
|
15
17
|
|
16
18
|
sudo gem install dwc-archive
|
17
19
|
|
20
|
+
### System Requirements
|
21
|
+
|
22
|
+
You need [Redis Server][12] and unzip library installed
|
23
|
+
|
24
|
+
|
18
25
|
Usage
|
19
26
|
-----
|
20
27
|
|
21
|
-
|
22
|
-
|
28
|
+
```ruby
|
29
|
+
require 'rubygems'
|
30
|
+
require 'dwc_archive'
|
23
31
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
+
dwc = DarwinCore.new('/path_to_file/archive_file.tar.gz')
|
33
|
+
dwc.archive.files # the archive file list
|
34
|
+
dwc.metadata.data # summary of metadata from eml.xml if it exists
|
35
|
+
dwc.metadata.authors # authors of the archive
|
36
|
+
dwc.core.data # summary of DarwinCore main file
|
37
|
+
dwc.core.file_path # path to the DarwinCore main file
|
38
|
+
dwc.extensions # array of DarwinCore Star extensions
|
39
|
+
dwc.extensions[0].data # summary for an extension
|
32
40
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
41
|
+
# read content of the core data file into memory or used with a block
|
42
|
+
# it returns array of arrays of data
|
43
|
+
# rows that had a wrong encoding will be collected into errors array
|
44
|
+
data, errors = dwc.core.read
|
37
45
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
46
|
+
# read content using a block, getting back results in sets of 100 rows each
|
47
|
+
results = []
|
48
|
+
tail_data, tail_errors = dwc.core.read(100) do |data, errors|
|
49
|
+
results << [data, errors]
|
50
|
+
end
|
51
|
+
results << [tail_data, tail_errors]
|
44
52
|
|
45
|
-
|
46
|
-
|
53
|
+
# read content of an extension data file into memory
|
54
|
+
data, errors = dwc.core.extensions[0].read
|
47
55
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
56
|
+
# read content of an extension data using block
|
57
|
+
results = []
|
58
|
+
tail_data, tail_errors = dwc.core.extensions[0](100) do |data, errors|
|
59
|
+
results << [data, errors]
|
60
|
+
end
|
61
|
+
results << [tail_data, tail_errors]
|
54
62
|
|
55
|
-
|
56
|
-
|
57
|
-
|
63
|
+
# normalize names in classification collecting together synonyms,
|
64
|
+
# canonical names, vernacular names and associating paths to taxons
|
65
|
+
# in a classification distributed as DwCA file
|
58
66
|
|
59
|
-
|
67
|
+
result = dwc.normalize_classification
|
60
68
|
|
61
|
-
|
69
|
+
# for a finer control over normalization:
|
62
70
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
71
|
+
cn = DarwinCore::ClassificationNormalizer.new(dwc)
|
72
|
+
cn.normalize
|
73
|
+
# if you don't want to generate path consisting of canonical forms
|
74
|
+
# of ancestors to a taxon
|
75
|
+
cn.normalize(:with_canonical_names => false)
|
68
76
|
|
69
|
-
|
70
|
-
|
77
|
+
# if you don't want to ingest information from extensions
|
78
|
+
cn.normalize(:with_extensions => false)
|
71
79
|
|
72
|
-
|
73
|
-
|
80
|
+
# to get a flat hash of nodes with attached vernacular names and synonyms
|
81
|
+
normalized_data = cn.normalized_data
|
74
82
|
|
75
|
-
|
76
|
-
|
83
|
+
# to get a representation of tree organization as a hash
|
84
|
+
classification_tree = cn.tree
|
77
85
|
|
78
|
-
|
79
|
-
|
86
|
+
# to get list of all name strings used as scientific or vernacular names
|
87
|
+
all_name_strings = cn.name_strings
|
80
88
|
|
81
|
-
|
82
|
-
|
89
|
+
# to get list of errors generated during the normalization
|
90
|
+
errors = cn.error_names
|
83
91
|
|
84
|
-
|
92
|
+
DarwinCore.clean_all # remove all expanded archives
|
93
|
+
```
|
85
94
|
|
86
95
|
Creating a DarwinCore Archive file
|
87
96
|
----------------------------------
|
88
97
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
:
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
98
|
+
```ruby
|
99
|
+
gen = DarwinCore::Generator.new('/tmp/dwc_birches.tar.gz')
|
100
|
+
|
101
|
+
core = [
|
102
|
+
["http://rs.tdwg.org/dwc/terms/taxonID",
|
103
|
+
"http://rs.tdwg.org/dwc/terms/parentNameUsageID",
|
104
|
+
"http://rs.tdwg.org/dwc/terms/scientificName",
|
105
|
+
"http://rs.tdwg.org/dwc/terms/taxonRank"],
|
106
|
+
[1, 0, "Plantae", "kingdom"],
|
107
|
+
[2, 1, "Betula", "genus"],
|
108
|
+
[3, 2, "Betula verucosa", "species"]
|
109
|
+
]
|
110
|
+
|
111
|
+
vernacular_names = [
|
112
|
+
["http://rs.tdwg.org/dwc/terms/TaxonID",
|
113
|
+
"http://rs.tdwg.org/dwc/terms/vernacularName"],
|
114
|
+
[1, "Plants"],
|
115
|
+
[1, "Растения"],
|
116
|
+
[2, "Birch"],
|
117
|
+
[2, "Береза"],
|
118
|
+
[3, "Wheeping Birch"],
|
119
|
+
[3, "Береза плакучая"]
|
120
|
+
]
|
121
|
+
|
122
|
+
eml = {
|
123
|
+
:id => '1234',
|
124
|
+
:license => 'http://creativecommons.org/licenses/by-sa/3.0/',
|
125
|
+
:title => 'Test Classification',
|
126
|
+
:authors => [
|
127
|
+
{ :first_name => 'John',
|
128
|
+
:last_name => 'Doe',
|
129
|
+
:email => 'jdoe@example.com',
|
130
|
+
:organization => 'Example',
|
131
|
+
:position => 'Assistant Professor',
|
132
|
+
:url => 'http://example.org' },
|
133
|
+
{ :first_name => 'Jane',
|
134
|
+
:last_name => 'Doe',
|
135
|
+
:email => 'jane@example.com' }
|
136
|
+
],
|
137
|
+
:metadata_providers => [
|
138
|
+
{ :first_name => 'Jim',
|
139
|
+
:last_name => 'Doe',
|
140
|
+
:email => 'jimdoe@example.com',
|
141
|
+
:url => 'http://aggregator.example.org' }],
|
142
|
+
:abstract => 'test classification',
|
143
|
+
:citation =>
|
144
|
+
'Test classification: Doe John, Doe Jane, Taxnonmy, 10, 1, 2010',
|
145
|
+
:url => 'http://example.com'
|
146
|
+
}
|
147
|
+
|
148
|
+
gen.add_core(core, 'core.txt')
|
149
|
+
gen.add_extension(vernacular_names,
|
150
|
+
'vernacular_names.txt',
|
151
|
+
true, 'http://rs.gbif.org/terms/1.0/VernacularName')
|
152
|
+
gen.add_meta_xml
|
153
|
+
gen.add_eml_xml(eml)
|
154
|
+
gen.pack
|
155
|
+
```
|
145
156
|
|
146
157
|
Logging
|
147
158
|
-------
|
@@ -168,12 +179,25 @@ Note on Patches/Pull Requests
|
|
168
179
|
Copyright
|
169
180
|
---------
|
170
181
|
|
171
|
-
|
182
|
+
Author -- [@dimus][13]
|
183
|
+
|
184
|
+
Contributors -- [@mjy][14], [@LocoDelAssembly][16]
|
185
|
+
|
186
|
+
Copyright (c) 2010-2020 [@dimus][15]. See LICENSE for details.
|
172
187
|
|
173
188
|
[1]: https://badge.fury.io/rb/dwc-archive.png
|
174
189
|
[2]: http://badge.fury.io/rb/dwc-archive
|
175
190
|
[3]: https://secure.travis-ci.org/GlobalNamesArchitecture/dwc-archive.png
|
176
191
|
[4]: http://travis-ci.org/GlobalNamesArchitecture/dwc-archive
|
177
|
-
[5]: https://
|
178
|
-
[6]: https://
|
179
|
-
[7]:
|
192
|
+
[5]: https://coveralls.io/repos/GlobalNamesArchitecture/dwc-archive/badge.png
|
193
|
+
[6]: https://coveralls.io/r/GlobalNamesArchitecture/dwc-archive
|
194
|
+
[7]: https://codeclimate.com/github/GlobalNamesArchitecture/dwc-archive.png
|
195
|
+
[8]: https://codeclimate.com/github/GlobalNamesArchitecture/dwc-archive
|
196
|
+
[9]: https://gemnasium.com/GlobalNamesArchitecture/dwc-archive.png
|
197
|
+
[10]: https://gemnasium.com/GlobalNamesArchitecture/dwc-archive
|
198
|
+
[11]: http://bit.ly/2IxcBA
|
199
|
+
[12]: http://redis.io/topics/quickstart
|
200
|
+
[13]: https://github.com/dimus
|
201
|
+
[14]: https://github.com/mjy
|
202
|
+
[15]: http://mbl.edu
|
203
|
+
[16]: https://github.com/LocoDelAssembly
|
data/Rakefile
CHANGED
@@ -1,62 +1,21 @@
|
|
1
|
-
|
2
|
-
require 'rake'
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
gem.name = "dwc-archive"
|
8
|
-
gem.summary = %Q{Handler of Darwin Core Archive files}
|
9
|
-
gem.description = 'Darwin Core Archive is the current standard exchange ' +
|
10
|
-
'format for GLobal Names Architecture modules. ' +
|
11
|
-
'This gem makes it easy to incorporate files in ' +
|
12
|
-
'Darwin Core Archive format into a ruby project.'
|
13
|
-
gem.email = "dmozzherin at gmail dot com"
|
14
|
-
gem.homepage = "http://github.com/GlobalNamesArchitecture/dwc-archive"
|
15
|
-
gem.authors = ["Dmitry Mozzherin"]
|
16
|
-
#gem.add_dependency "fastercsv" if RUBY_VERSION.match /^1.8/
|
17
|
-
gem.add_dependency 'parsley-store', ">= 0.3.0"
|
18
|
-
gem.add_development_dependency "rspec", ">= 1.2.9"
|
19
|
-
gem.add_development_dependency "cucumber", ">= 0"
|
20
|
-
end
|
21
|
-
Jeweler::GemcutterTasks.new
|
22
|
-
rescue LoadError
|
23
|
-
puts 'Jeweler (or a dependency) not available. ' +
|
24
|
-
'Install it with: gem install jeweler'
|
25
|
-
end
|
26
|
-
|
27
|
-
require 'rspec/core/rake_task'
|
28
|
-
RSpec::Core::RakeTask.new(:spec) do |spec|
|
29
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
30
|
-
end
|
31
|
-
|
32
|
-
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
33
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
34
|
-
spec.rcov = true
|
35
|
-
end
|
36
|
-
|
37
|
-
# task :spec => :check_dependencies
|
38
|
-
|
39
|
-
begin
|
40
|
-
require 'cucumber/rake/task'
|
41
|
-
Cucumber::Rake::Task.new(:features)
|
3
|
+
require "bundler/gem_tasks"
|
4
|
+
require "rspec/core/rake_task"
|
5
|
+
require "cucumber/rake/task"
|
42
6
|
|
43
|
-
|
44
|
-
|
45
|
-
task :features do
|
46
|
-
abort 'Cucumber is not available. In order to run features, ' +
|
47
|
-
'you must: sudo gem install cucumber'
|
48
|
-
end
|
7
|
+
RSpec::Core::RakeTask.new(:rspec) do |rspec|
|
8
|
+
rspec.pattern = "spec/**/*_spec.rb"
|
49
9
|
end
|
50
10
|
|
51
|
-
|
52
|
-
task :irb, [:script] do |t, args|
|
53
|
-
ARGV.clear
|
11
|
+
Cucumber::Rake::Task.new(:features)
|
54
12
|
|
55
|
-
|
56
|
-
|
13
|
+
# task rspec: :check_dependencies
|
14
|
+
task features: :check_dependencies
|
57
15
|
|
58
|
-
|
59
|
-
|
16
|
+
desc "open an irb session preloaded with this library"
|
17
|
+
task :console do
|
18
|
+
sh "irb -I lib -I extra -r dwc_archive.rb"
|
60
19
|
end
|
61
20
|
|
62
|
-
task :
|
21
|
+
task default: :rspec
|