dwc-archive 0.9.5 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +31 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +23 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +5 -4
  7. data/CHANGELOG +17 -5
  8. data/Gemfile +3 -15
  9. data/LICENSE +1 -1
  10. data/README.md +143 -111
  11. data/Rakefile +13 -49
  12. data/dwc-archive.gemspec +37 -0
  13. data/features/step_definitions/dwc-creator_steps.rb +5 -5
  14. data/features/step_definitions/dwc-reader_steps.rb +47 -28
  15. data/features/support/env.rb +1 -1
  16. data/lib/dwc_archive.rb +121 -0
  17. data/lib/dwc_archive/archive.rb +59 -0
  18. data/lib/dwc_archive/classification_normalizer.rb +394 -0
  19. data/lib/dwc_archive/core.rb +25 -0
  20. data/lib/{dwc-archive → dwc_archive}/errors.rb +2 -0
  21. data/lib/dwc_archive/expander.rb +85 -0
  22. data/lib/{dwc-archive → dwc_archive}/extension.rb +5 -3
  23. data/lib/dwc_archive/generator.rb +90 -0
  24. data/lib/dwc_archive/generator_eml_xml.rb +116 -0
  25. data/lib/dwc_archive/generator_meta_xml.rb +72 -0
  26. data/lib/dwc_archive/gnub_taxon.rb +14 -0
  27. data/lib/dwc_archive/ingester.rb +106 -0
  28. data/lib/dwc_archive/metadata.rb +56 -0
  29. data/lib/dwc_archive/taxon_normalized.rb +23 -0
  30. data/lib/dwc_archive/version.rb +6 -0
  31. data/lib/dwc_archive/xml_reader.rb +89 -0
  32. data/spec/files/file with characters(3).gz b/data/spec/files/file with → characters(3).tar.gz +0 -0
  33. data/spec/files/generator_eml.xml +47 -0
  34. data/spec/files/generator_meta.xml +19 -0
  35. data/spec/files/gnub.tar.gz +0 -0
  36. data/spec/lib/classification_normalizer_spec.rb +214 -0
  37. data/spec/lib/core_spec.rb +100 -0
  38. data/spec/lib/darwin_core_spec.rb +249 -0
  39. data/spec/lib/generator_eml_xml_spec.rb +22 -0
  40. data/spec/lib/generator_meta_xml_spec.rb +22 -0
  41. data/spec/lib/generator_spec.rb +124 -0
  42. data/spec/lib/gnub_taxon_spec.rb +32 -0
  43. data/spec/lib/metadata_spec.rb +89 -0
  44. data/spec/lib/taxon_normalized_spec.rb +142 -0
  45. data/spec/lib/xml_reader_spec.rb +11 -11
  46. data/spec/spec_helper.rb +78 -7
  47. metadata +181 -92
  48. data/.rvmrc +0 -1
  49. data/Gemfile.lock +0 -155
  50. data/VERSION +0 -1
  51. data/lib/dwc-archive.rb +0 -95
  52. data/lib/dwc-archive/.expander.rb.swo +0 -0
  53. data/lib/dwc-archive/archive.rb +0 -37
  54. data/lib/dwc-archive/classification_normalizer.rb +0 -332
  55. data/lib/dwc-archive/core.rb +0 -17
  56. data/lib/dwc-archive/expander.rb +0 -80
  57. data/lib/dwc-archive/generator.rb +0 -75
  58. data/lib/dwc-archive/generator_eml_xml.rb +0 -84
  59. data/lib/dwc-archive/generator_meta_xml.rb +0 -50
  60. data/lib/dwc-archive/ingester.rb +0 -101
  61. data/lib/dwc-archive/metadata.rb +0 -42
  62. data/lib/dwc-archive/utf_regex_ruby18.rb +0 -10
  63. data/lib/dwc-archive/xml_reader.rb +0 -64
  64. data/spec/lib/dwc-archive_spec.rb +0 -236
  65. data/spec/spec.opts +0 -1
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 0fd098cb550fe49fe0b1e4234dee9d42a99fdea5a6ce41393a71c000802b3887
4
+ data.tar.gz: b637574ad6eda25ad8f1cb53538443529cd42ae0948530a09e3c080f16c2cb7b
5
+ SHA512:
6
+ metadata.gz: 7e8b88410e88f7ad3cabe6d02934db35143f88408d08164890e970c36af68cfc164c88b9bd644e723a2575e0f781e4ef7aa7b2726331a8a70d9f48498cc46a0d
7
+ data.tar.gz: 1d989666190f9e7333dae5eddff4c95b4f58797ebdffda3c5198625d4c869439f786beeb2d474e3a6260385320960b987d4329a072a5c01db30ccb040ef9e5ca
@@ -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
@@ -0,0 +1,3 @@
1
+ --format p
2
+ --color
3
+ --require spec_helper
@@ -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'
@@ -0,0 +1 @@
1
+ 2.6.6
@@ -1,10 +1,11 @@
1
1
  rvm:
2
- - 1.9.3
3
- - 2.0.0
2
+ - 2.4
3
+ - 2.5
4
4
  before_install:
5
5
  - sudo apt-get update
6
- - sudo apt-get install redis-server
7
- bundler_args: --without development
6
+ # bundler_args: --without development
7
+ services:
8
+ - redis-server
8
9
  script:
9
10
  - bundle exec cucumber
10
11
  - bundle exec rake
data/CHANGELOG CHANGED
@@ -1,9 +1,21 @@
1
- 0.9.0 Migrated code to ruby 1.9.3
1
+ 1.1.0 Update name parser to go-based biodiversity
2
2
 
3
- 0.8.3 Updated outdated exception rasing
3
+ 1.0.1 Cleanup and gems update
4
4
 
5
- 0.8.2 Removed species info from linnean classification path
5
+ 0.9.11 Removed VERSION duplicate
6
6
 
7
- 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
7
+ 0.9.7 Refactoring and tests improvements
8
8
 
9
- 0.8.0 Added linnean classification path to normalized data from DwCA. It consists of data associated with clades like 'kingdom', 'order' etc.
9
+ 0.9.6 Added support for GNUB DwCA files
10
+
11
+ 0.9.4 Gem dependencies updated, added travis support
12
+
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
- source 'https://rubygems.org'
1
+ # frozen_string_literal: true
2
2
 
3
- gem 'nokogiri', '~> 1.5'
4
- gem 'parsley-store', '~> 0.3.2'
5
- gem 'archive-tar-minitar', '~> 0.5'
3
+ source "https://rubygems.org"
6
4
 
7
- group :development do
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
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010-2012 Marine Biological Laboratoryj
1
+ Copyright (c) 2010-2012 Marine Biological Laboratory
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -3,145 +3,165 @@ Darwin Core Archive
3
3
 
4
4
  [![Gem Version][1]][2]
5
5
  [![Continuous Integration Status][3]][4]
6
- [![Dependency Status][5]][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:][7]
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
- require 'rubygems'
22
- require 'dwc-archive'
28
+ ```ruby
29
+ require 'rubygems'
30
+ require 'dwc_archive'
23
31
 
24
- dwc = DarwinCore.new('/path_to_file/archive_file.tar.gz')
25
- dwc.archive.files # the archive file list
26
- dwc.metadata.data # summary of metadata from eml.xml if it exists
27
- dwc.metadata.authors # authors of the archive
28
- dwc.core.data # summary of DarwinCore main file
29
- dwc.core.file_path # path to the DarwinCore main file
30
- dwc.extensions # array of DarwinCore Star extensions
31
- dwc.extensions[0].data # summary for an extension
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
- # read content of the core data file into memory or used with a block
34
- # it returns array of arrays of data
35
- # rows that had a wrong encoding will be collected into errors array
36
- data, errors = dwc.core.read
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
- # read content using a block, getting back results in sets of 100 rows each
39
- results = []
40
- tail_data, tail_errors = dwc.core.read(100) do |data, errors|
41
- results << [data, errors]
42
- end
43
- results << [tail_data, tail_errors]
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
- # read content of an extension data file into memory
46
- data, errors = dwc.core.extensions[0].read
53
+ # read content of an extension data file into memory
54
+ data, errors = dwc.core.extensions[0].read
47
55
 
48
- # read content of an extension data using block
49
- results = []
50
- tail_data, tail_errors = dwc.core.extensions[0](100) do |data, errors|
51
- results << [data, errors]
52
- end
53
- results << [tail_data, tail_errors]
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
- # normalize names in classification collecting together synonyms,
56
- # canonical names, vernacular names and associating paths to taxons
57
- # in a classification distributed as DwCA file
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
- result = dwc.normalize_classification
67
+ result = dwc.normalize_classification
60
68
 
61
- # for a finer control over normalization:
69
+ # for a finer control over normalization:
62
70
 
63
- cn = DarwinCore::ClassificationNormalizer.new(dwc)
64
- cn.normalize
65
- # if you don't want to generate path consisting of canonical forms
66
- # of ancestors to a taxon
67
- cn.normalize(:with_canonical_names => false)
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
- # if you don't want to ingest information from extensions
70
- cn.normalize(:with_extensions => false)
77
+ # if you don't want to ingest information from extensions
78
+ cn.normalize(:with_extensions => false)
71
79
 
72
- # to get a flat hash of nodes with attached vernacular names and synonyms
73
- normalized_data = cn.normalized_data
80
+ # to get a flat hash of nodes with attached vernacular names and synonyms
81
+ normalized_data = cn.normalized_data
74
82
 
75
- # to get a representation of tree organization as a hash
76
- classification_tree = cn.tree
83
+ # to get a representation of tree organization as a hash
84
+ classification_tree = cn.tree
77
85
 
78
- # to get list of all name strings used as scientific or vernacular names
79
- all_name_strings = cn.name_strings
86
+ # to get list of all name strings used as scientific or vernacular names
87
+ all_name_strings = cn.name_strings
80
88
 
81
- # to get list of errors generated during the normalization
82
- errors = cn.error_names
89
+ # to get list of errors generated during the normalization
90
+ errors = cn.error_names
83
91
 
84
- DarwinCore.clean_all # remove all expanded archives
92
+ DarwinCore.clean_all # remove all expanded archives
93
+ ```
85
94
 
86
95
  Creating a DarwinCore Archive file
87
96
  ----------------------------------
88
97
 
89
- gen = DarwinCore::Generator.new('/tmp/dwc_birches.tar.gz')
90
-
91
- core = [
92
- ["http://rs.tdwg.org/dwc/terms/taxonID",
93
- "http://rs.tdwg.org/dwc/terms/parentNameUsageID",
94
- "http://rs.tdwg.org/dwc/terms/scientificName",
95
- "http://rs.tdwg.org/dwc/terms/taxonRank"],
96
- [1, 0, "Plantae", "kingdom"],
97
- [2, 1, "Betula", "genus"],
98
- [3, 2, "Betula verucosa", "species"]
99
- ]
100
-
101
- vernacular_names = [
102
- ["http://rs.tdwg.org/dwc/terms/TaxonID",
103
- "http://rs.tdwg.org/dwc/terms/vernacularName"],
104
- [1, "Plants"],
105
- [1, "Растения"],
106
- [2, "Birch"],
107
- [2, "Береза"],
108
- [3, "Wheeping Birch"],
109
- [3, "Береза плакучая"]
110
- ]
111
-
112
- eml = {
113
- :id => '1234',
114
- :license => 'http://creativecommons.org/licenses/by-sa/3.0/',
115
- :title => 'Test Classification',
116
- :authors => [
117
- { :first_name => 'John',
118
- :last_name => 'Doe',
119
- :email => 'jdoe@example.com',
120
- :organization => 'Example',
121
- :position => 'Assistant Professor',
122
- :url => 'http://example.org' },
123
- { :first_name => 'Jane',
124
- :last_name => 'Doe',
125
- :email => 'jane@example.com' }
126
- ],
127
- :metadata_providers => [
128
- { :first_name => 'Jim',
129
- :last_name => 'Doe',
130
- :email => 'jimdoe@example.com',
131
- :url => 'http://aggregator.example.org' }],
132
- :abstract => 'test classification',
133
- :citation =>
134
- 'Test classification: Doe John, Doe Jane, Taxnonmy, 10, 1, 2010',
135
- :url => 'http://example.com'
136
- }
137
-
138
- gen.add_core(core, 'core.txt')
139
- gen.add_extension(vernacular_names,
140
- 'vernacular_names.txt',
141
- true, 'http://rs.gbif.org/terms/1.0/VernacularName')
142
- gen.add_meta_xml
143
- gen.add_eml_xml(eml)
144
- gen.pack
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
+ ```
156
+
157
+ Logging
158
+ -------
159
+
160
+ Gem has ability to show logs of it's events:
161
+
162
+ require 'dwc-archive'
163
+ DarwinCore.logger = Logger.new($stdout)
164
+
145
165
 
146
166
  Note on Patches/Pull Requests
147
167
  -----------------------------
@@ -159,12 +179,24 @@ Note on Patches/Pull Requests
159
179
  Copyright
160
180
  ---------
161
181
 
162
- Copyright (c) 2010-2013 Marine Biological Laboratory. See LICENSE for details.
182
+ Author -- [Dmitry Mozzherin][13]
183
+
184
+ Contributors -- [Matt Yoder][14]
185
+
186
+ Copyright (c) 2010-2014 [Marine Biological Laboratory][15]. See LICENSE for details.
163
187
 
164
188
  [1]: https://badge.fury.io/rb/dwc-archive.png
165
189
  [2]: http://badge.fury.io/rb/dwc-archive
166
190
  [3]: https://secure.travis-ci.org/GlobalNamesArchitecture/dwc-archive.png
167
191
  [4]: http://travis-ci.org/GlobalNamesArchitecture/dwc-archive
168
- [5]: https://gemnasium.com/GlobalNamesArchitecture/dwc-archive.png
169
- [6]: https://gemnasium.com/GlobalNamesArchitecture/dwc-archive
170
- [7]: http://bit.ly/2IxcBA
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
data/Rakefile CHANGED
@@ -1,57 +1,21 @@
1
- require 'rubygems'
2
- require 'rake'
1
+ # frozen_string_literal: true
3
2
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "dwc-archive"
8
- gem.summary = %Q{Handler of Darwin Core Archive files}
9
- gem.description = %q{Darwin Core Archive is the current standard exchange format for GLobal Names Architecture modules. This gem makes it easy to incorporate files in Darwin Core Archive format into a ruby project.}
10
- gem.email = "dmozzherin at gmail dot com"
11
- gem.homepage = "http://github.com/GlobalNamesArchitecture/dwc-archive"
12
- gem.authors = ["Dmitry Mozzherin"]
13
- #gem.add_dependency "fastercsv" if RUBY_VERSION.match /^1.8/
14
- gem.add_dependency 'parsley-store', ">= 0.3.0"
15
- gem.add_development_dependency "rspec", ">= 1.2.9"
16
- gem.add_development_dependency "cucumber", ">= 0"
17
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
18
- end
19
- Jeweler::GemcutterTasks.new
20
- rescue LoadError
21
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
22
- end
23
-
24
- require 'rspec/core/rake_task'
25
- RSpec::Core::RakeTask.new(:spec) do |spec|
26
- spec.pattern = 'spec/**/*_spec.rb'
27
- end
3
+ require "bundler/gem_tasks"
4
+ require "rspec/core/rake_task"
5
+ require "cucumber/rake/task"
28
6
 
29
- RSpec::Core::RakeTask.new(:rcov) do |spec|
30
- spec.pattern = 'spec/**/*_spec.rb'
31
- spec.rcov = true
7
+ RSpec::Core::RakeTask.new(:rspec) do |rspec|
8
+ rspec.pattern = "spec/**/*_spec.rb"
32
9
  end
33
10
 
34
- # task :spec => :check_dependencies
11
+ Cucumber::Rake::Task.new(:features)
35
12
 
36
- begin
37
- require 'cucumber/rake/task'
38
- Cucumber::Rake::Task.new(:features)
13
+ # task rspec: :check_dependencies
14
+ task features: :check_dependencies
39
15
 
40
- task :features => :check_dependencies
41
- rescue LoadError
42
- task :features do
43
- abort "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
44
- end
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"
45
19
  end
46
20
 
47
- task :default => :spec
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
21
+ task default: :rspec