mabmapper 1.0.0.pre15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +20 -0
- data/.travis.yml +4 -0
- data/Gemfile +7 -0
- data/LICENSE +22 -0
- data/README.md +49 -0
- data/Rakefile +29 -0
- data/bin/mabmapper +3 -0
- data/lib/mabmapper/aleph_mab_xml_engine.rb +1050 -0
- data/lib/mabmapper/cli.rb +216 -0
- data/lib/mabmapper/elasticsearch_writer.rb +52 -0
- data/lib/mabmapper/engine.rb +112 -0
- data/lib/mabmapper/mab_xml/document.rb +53 -0
- data/lib/mabmapper/mab_xml/field.rb +43 -0
- data/lib/mabmapper/mab_xml/query.rb +25 -0
- data/lib/mabmapper/mab_xml/query_helper.rb +101 -0
- data/lib/mabmapper/mab_xml/result_set.rb +34 -0
- data/lib/mabmapper/mab_xml/subfield.rb +12 -0
- data/lib/mabmapper/mab_xml.rb +6 -0
- data/lib/mabmapper/tar_writer.rb +29 -0
- data/lib/mabmapper/version.rb +3 -0
- data/lib/mabmapper.rb +11 -0
- data/mabmapper.gemspec +33 -0
- data/test/mab_files/test_creation_date/test1.xml +17 -0
- data/test/mab_files/test_creation_date/test2.xml +17 -0
- data/test/mab_files/test_creationdate/425_a_1.xml +17 -0
- data/test/mab_files/test_creationdate/425_a_2.xml +19 -0
- data/test/mab_files/test_creationdate/425_bc_1.xml +19 -0
- data/test/mab_files/test_creationdate/425_bc_2.xml +22 -0
- data/test/mab_files/test_creationdate/425_bc_3.xml +22 -0
- data/test/mab_files/test_creationdate/425_bc_4.xml +19 -0
- data/test/mab_files/test_creationdate/425_p_1.xml +19 -0
- data/test/mab_files/test_creationdate/425_p_2.xml +17 -0
- data/test/mab_files/test_creationdate/595_1.xml +20 -0
- data/test/mab_files/test_creator_contributor_facet/PAD01.001006945.PRIMO.xml +574 -0
- data/test/mab_files/test_description/405.xml +22 -0
- data/test/mab_files/test_description/501-519.xml +30 -0
- data/test/mab_files/test_description/522.xml +22 -0
- data/test/mab_files/test_description/523.xml +22 -0
- data/test/mab_files/test_description/536-537.xml +30 -0
- data/test/mab_files/test_doc/PAD01.001510737.PRIMO.xml +317 -0
- data/test/mab_files/test_edition/PAD01.000844686.PRIMO.xml +584 -0
- data/test/mab_files/test_edition/PAD01.000969531.PRIMO.xml +129 -0
- data/test/mab_files/test_edition/PAD01.000969710.PRIMO.xml +144 -0
- data/test/mab_files/test_edition/PAD01.000978033.PRIMO.xml +163 -0
- data/test/mab_files/test_edition/PAD01.000990520.PRIMO.xml +163 -0
- data/test/mab_files/test_erscheinungsform/PAD01.000870753.PRIMO.xml +256 -0
- data/test/mab_files/test_erscheinungsform/PAD01.000870755.PRIMO.xml +467 -0
- data/test/mab_files/test_ht_number/PAD01.001015067.PRIMO.xml +137 -0
- data/test/mab_files/test_inhaltstyp/PAD01.000870753.PRIMO.xml +256 -0
- data/test/mab_files/test_inhaltstyp/PAD01.000870755.PRIMO.xml +467 -0
- data/test/mab_files/test_is_secondary_form/PAD01.000806191.PRIMO.xml +216 -0
- data/test/mab_files/test_is_secondary_form/PAD01.000844686.PRIMO.xml +584 -0
- data/test/mab_files/test_is_secondary_form/PAD01.001015067.PRIMO.xml +137 -0
- data/test/mab_files/test_is_secondary_form/PAD01.001452439.PRIMO.xml +377 -0
- data/test/mab_files/test_is_suborder/PAD01.000806191.PRIMO.xml +216 -0
- data/test/mab_files/test_is_suborder/PAD01.000844686.PRIMO.xml +584 -0
- data/test/mab_files/test_is_suborder/PAD01.001452439.PRIMO.xml +377 -0
- data/test/mab_files/test_issn/PAD01.000637121.PRIMO.xml +805 -0
- data/test/mab_files/test_materialtyp/PAD01.000870753.PRIMO.xml +256 -0
- data/test/mab_files/test_materialtyp/PAD01.000870755.PRIMO.xml +467 -0
- data/test/mab_files/test_notation_sort/PAD01.000970649.PRIMO.xml +306 -0
- data/test/mab_files/test_notation_sort/PAD01.001006944.PRIMO.xml +279 -0
- data/test/mab_files/test_publisher/PAD01.000312406.PRIMO.xml +1043 -0
- data/test/mab_files/test_redactional_remark/PAD01.001510737.PRIMO.xml +317 -0
- data/test/mab_files/test_relation/PAD01.000438377.PRIMO.xml +232 -0
- data/test/mab_files/test_relation/PAD01.000637121.PRIMO.xml +810 -0
- data/test/mab_files/test_relation/PAD01.000806191.PRIMO.xml +216 -0
- data/test/mab_files/test_relation/PAD01.000844686.PRIMO.xml +584 -0
- data/test/mab_files/test_relation/PAD01.001452439.PRIMO.xml +377 -0
- data/test/mab_files/test_secondary_form_creationdate/PAD01.000806191.PRIMO.xml +216 -0
- data/test/mab_files/test_secondary_form_creationdate/PAD01.000844686.PRIMO.xml +584 -0
- data/test/mab_files/test_secondary_form_creationdate/PAD01.001452439.PRIMO.xml +377 -0
- data/test/mab_files/test_secondary_form_isbn/PAD01.000806191.PRIMO.xml +216 -0
- data/test/mab_files/test_secondary_form_isbn/PAD01.000844686.PRIMO.xml +584 -0
- data/test/mab_files/test_secondary_form_isbn/PAD01.001452439.PRIMO.xml +377 -0
- data/test/mab_files/test_secondary_form_physical_description/PAD01.000806191.PRIMO.xml +216 -0
- data/test/mab_files/test_secondary_form_physical_description/PAD01.001452439.PRIMO.xml +377 -0
- data/test/mab_files/test_secondary_form_preliminary_phrase/PAD01.000806191.PRIMO.xml +216 -0
- data/test/mab_files/test_secondary_form_preliminary_phrase/PAD01.001452439.PRIMO.xml +377 -0
- data/test/mab_files/test_secondary_form_publisher/PAD01.000806191.PRIMO.xml +216 -0
- data/test/mab_files/test_secondary_form_publisher/PAD01.001452439.PRIMO.xml +377 -0
- data/test/mab_files/test_secondary_form_superorder/PAD01.000806191.PRIMO.xml +216 -0
- data/test/mab_files/test_secondary_form_superorder/PAD01.000977734.PRIMO.xml +225 -0
- data/test/mab_files/test_secondary_form_superorder/PAD01.001452439.PRIMO.xml +377 -0
- data/test/mab_files/test_short_title_display/PAD01.000057960.PRIMO.xml +1069 -0
- data/test/mab_files/test_short_title_display/PAD01.000058000.PRIMO.xml +995 -0
- data/test/mab_files/test_short_title_display/PAD01.000215104.PRIMO.xml +191 -0
- data/test/mab_files/test_short_title_display/PAD01.000310864.PRIMO.xml +999 -0
- data/test/mab_files/test_short_title_display/PAD01.000392641.PRIMO.xml +4334 -0
- data/test/mab_files/test_short_title_display/PAD01.000392645.PRIMO.xml +4094 -0
- data/test/mab_files/test_short_title_display/PAD01.000438377.PRIMO.xml +232 -0
- data/test/mab_files/test_short_title_display/PAD01.000479391.PRIMO.xml +142 -0
- data/test/mab_files/test_short_title_display/PAD01.000637121.PRIMO.xml +805 -0
- data/test/mab_files/test_short_title_display/PAD01.000676616.PRIMO.xml +128 -0
- data/test/mab_files/test_short_title_display/PAD01.000782994.PRIMO.xml +169 -0
- data/test/mab_files/test_short_title_display/PAD01.001006945.PRIMO.xml +574 -0
- data/test/mab_files/test_short_title_display/PAD01.001015067.PRIMO.xml +137 -0
- data/test/mab_files/test_short_title_display/PAD01.001015070.PRIMO.xml +212 -0
- data/test/mab_files/test_short_title_display/PAD01.001108212.PRIMO.xml +259 -0
- data/test/mab_files/test_short_title_display/PAD01.001249043.PRIMO.xml +172 -0
- data/test/mab_files/test_short_title_display/PAD01.001499877.PRIMO.xml +227 -0
- data/test/mab_files/test_short_title_display/PAD01.001499879.PRIMO.xml +255 -0
- data/test/mab_files/test_short_title_display/PAD01.001499880.PRIMO.xml +279 -0
- data/test/mab_files/test_short_title_display/PAD01.001510878.PRIMO.xml +184 -0
- data/test/mab_files/test_short_title_display/PAD01.001562173.PRIMO.xml +116 -0
- data/test/mab_files/test_short_title_display/PAD01.001568334.PRIMO.xml +1840 -0
- data/test/mab_files/test_short_title_display/PAD01.001572048.PRIMO.xml +68 -0
- data/test/mab_files/test_short_title_display/PAD01.001572049.PRIMO.xml +133 -0
- data/test/mab_files/test_signature/PAD01.000161445.PRIMO.xml +149 -0
- data/test/mab_files/test_signature/PAD01.000321365.PRIMO.xml +343 -0
- data/test/mab_files/test_signature/PAD01.000636652.PRIMO.xml +217 -0
- data/test/mab_files/test_signature/PAD01.000857994.PRIMO.xml +187 -0
- data/test/mab_files/test_signature/PAD01.000859176.PRIMO.xml +559 -0
- data/test/mab_files/test_signature/PAD01.000969442.PRIMO.xml +210 -0
- data/test/mab_files/test_signature/PAD01.001006945.PRIMO.xml +574 -0
- data/test/mab_files/test_signature_search/PAD01.000161445.PRIMO.xml +149 -0
- data/test/mab_files/test_signature_search/PAD01.000321365.PRIMO.xml +343 -0
- data/test/mab_files/test_signature_search/PAD01.000636652.PRIMO.xml +217 -0
- data/test/mab_files/test_signature_search/PAD01.000857994.PRIMO.xml +187 -0
- data/test/mab_files/test_signature_search/PAD01.000859176.PRIMO.xml +559 -0
- data/test/mab_files/test_signature_search/PAD01.000969442.PRIMO.xml +210 -0
- data/test/mab_files/test_signature_search/PAD01.001006945.PRIMO.xml +574 -0
- data/test/mab_files/test_status/PAD01.000321365.PRIMO.xml +343 -0
- data/test/mab_files/test_status/PAD01.000392641.PRIMO.xml +4337 -0
- data/test/mab_files/test_status/detmold_1.xml +17 -0
- data/test/mab_files/test_status/detmold_2.xml +17 -0
- data/test/mab_files/test_status/detmold_3.xml +12 -0
- data/test/mab_files/test_subject/PAD01.000972511.PRIMO.xml +406 -0
- data/test/mab_files/test_suborders/PAD01.000057960.PRIMO.xml +1069 -0
- data/test/mab_files/test_suborders/PAD01.000058000.PRIMO.xml +995 -0
- data/test/mab_files/test_suborders/PAD01.000215104.PRIMO.xml +191 -0
- data/test/mab_files/test_suborders/PAD01.000310864.PRIMO.xml +999 -0
- data/test/mab_files/test_suborders/PAD01.000392641.PRIMO.xml +4334 -0
- data/test/mab_files/test_suborders/PAD01.000392645.PRIMO.xml +4094 -0
- data/test/mab_files/test_suborders/PAD01.000438377.PRIMO.xml +232 -0
- data/test/mab_files/test_suborders/PAD01.000479391.PRIMO.xml +142 -0
- data/test/mab_files/test_suborders/PAD01.000637121.PRIMO.xml +805 -0
- data/test/mab_files/test_suborders/PAD01.000676616.PRIMO.xml +128 -0
- data/test/mab_files/test_suborders/PAD01.001006945.PRIMO.xml +574 -0
- data/test/mab_files/test_suborders/PAD01.001015067.PRIMO.xml +137 -0
- data/test/mab_files/test_suborders/PAD01.001015068.PRIMO.xml +216 -0
- data/test/mab_files/test_suborders/PAD01.001015070.PRIMO.xml +212 -0
- data/test/mab_files/test_suborders/PAD01.001108212.PRIMO.xml +259 -0
- data/test/mab_files/test_suborders/PAD01.001499877.PRIMO.xml +227 -0
- data/test/mab_files/test_suborders/PAD01.001499879.PRIMO.xml +255 -0
- data/test/mab_files/test_suborders/PAD01.001499880.PRIMO.xml +279 -0
- data/test/mab_files/test_suborders/PAD01.001562173.PRIMO.xml +116 -0
- data/test/mab_files/test_suborders/PAD01.001572048.PRIMO.xml +68 -0
- data/test/mab_files/test_suborders/PAD01.001572049.PRIMO.xml +133 -0
- data/test/mab_files/test_superorder/PAD01.000806191.PRIMO.xml +216 -0
- data/test/mab_files/test_superorder/PAD01.000844686.PRIMO.xml +584 -0
- data/test/mab_files/test_superorder/PAD01.001015067.PRIMO.xml +137 -0
- data/test/mab_files/test_superorder/PAD01.001452439.PRIMO.xml +377 -0
- data/test/mab_files/test_superorder_display/PAD01.000000872.PRIMO.xml +227 -0
- data/test/mab_files/test_superorder_display/PAD01.000160412.PRIMO.xml +518 -0
- data/test/mab_files/test_superorder_display/PAD01.000162669.PRIMO.xml +198 -0
- data/test/mab_files/test_superorder_display/PAD01.000178500.PRIMO.xml +158 -0
- data/test/mab_files/test_superorder_display/PAD01.000297043.PRIMO.xml +154 -0
- data/test/mab_files/test_superorder_display/PAD01.000562878.PRIMO.xml +1214 -0
- data/test/mab_files/test_superorder_display/PAD01.000958473.PRIMO.xml +379 -0
- data/test/mab_files/test_superorder_display/PAD01.001006945.PRIMO.xml +574 -0
- data/test/mab_files/test_superorders/PAD01.000057960.PRIMO.xml +1069 -0
- data/test/mab_files/test_superorders/PAD01.000215104.PRIMO.xml +191 -0
- data/test/mab_files/test_superorders/PAD01.000310864.PRIMO.xml +999 -0
- data/test/mab_files/test_superorders/PAD01.000392641.PRIMO.xml +4334 -0
- data/test/mab_files/test_superorders/PAD01.000438377.PRIMO.xml +232 -0
- data/test/mab_files/test_superorders/PAD01.000479391.PRIMO.xml +142 -0
- data/test/mab_files/test_superorders/PAD01.000637121.PRIMO.xml +805 -0
- data/test/mab_files/test_superorders/PAD01.001015067.PRIMO.xml +137 -0
- data/test/mab_files/test_superorders/PAD01.001499877.PRIMO.xml +227 -0
- data/test/mab_files/test_superorders/PAD01.001572048.PRIMO.xml +68 -0
- data/test/mab_files/test_title_display/PAD01.000954111.PRIMO.xml +162 -0
- data/test/mab_files/test_title_display/PAD01.000992332.PRIMO.xml +189 -0
- data/test/mab_files/test_title_display/PAD01.001015068.PRIMO.xml +216 -0
- data/test/mab_files/test_title_display/PAD01.001499879.PRIMO.xml +255 -0
- data/test/mab_files/test_title_search/test_1.xml +20 -0
- data/test/mab_files/test_title_sort/PAD01.000954111.PRIMO.xml +162 -0
- data/test/mab_files/test_title_sort/PAD01.000992332.PRIMO.xml +189 -0
- data/test/mab_files/test_volume_count_sort/PAD01.001015068.PRIMO.xml +216 -0
- data/test/mab_files/test_volume_count_sort/PAD01.001499879.PRIMO.xml +255 -0
- data/test/mabmapper/test_creation_date.rb +5 -0
- data/test/mabmapper/test_creationdate.rb +23 -0
- data/test/mabmapper/test_creator_contributor_facet.rb +4 -0
- data/test/mabmapper/test_description.rb +9 -0
- data/test/mabmapper/test_doc.rb +6 -0
- data/test/mabmapper/test_edition.rb +8 -0
- data/test/mabmapper/test_erscheinungsform.rb +5 -0
- data/test/mabmapper/test_ht_number.rb +4 -0
- data/test/mabmapper/test_inhaltstyp.rb +5 -0
- data/test/mabmapper/test_is_secondary_form.rb +7 -0
- data/test/mabmapper/test_is_suborder.rb +7 -0
- data/test/mabmapper/test_issn.rb +4 -0
- data/test/mabmapper/test_materialtyp.rb +5 -0
- data/test/mabmapper/test_notation_sort.rb +5 -0
- data/test/mabmapper/test_publisher.rb +5 -0
- data/test/mabmapper/test_redactional_remark.rb +4 -0
- data/test/mabmapper/test_relation.rb +16 -0
- data/test/mabmapper/test_secondary_form_creationdate.rb +6 -0
- data/test/mabmapper/test_secondary_form_isbn.rb +6 -0
- data/test/mabmapper/test_secondary_form_physical_description.rb +5 -0
- data/test/mabmapper/test_secondary_form_preliminary_phrase.rb +5 -0
- data/test/mabmapper/test_secondary_form_publisher.rb +5 -0
- data/test/mabmapper/test_secondary_form_superorder.rb +9 -0
- data/test/mabmapper/test_short_title_display.rb +27 -0
- data/test/mabmapper/test_signature.rb +12 -0
- data/test/mabmapper/test_signature_search.rb +12 -0
- data/test/mabmapper/test_status.rb +13 -0
- data/test/mabmapper/test_subject.rb +5 -0
- data/test/mabmapper/test_suborders.rb +192 -0
- data/test/mabmapper/test_superorder.rb +7 -0
- data/test/mabmapper/test_superorder_display.rb +22 -0
- data/test/mabmapper/test_superorders.rb +38 -0
- data/test/mabmapper/test_title_display.rb +12 -0
- data/test/mabmapper/test_title_search.rb +4 -0
- data/test/mabmapper/test_title_sort.rb +6 -0
- data/test/mabmapper/test_volume_count_sort.rb +5 -0
- data/test/test_helper.rb +53 -0
- data/test/test_mabmapper.rb +19 -0
- data/utils/mab_by_docid.sh +19 -0
- metadata +574 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: edfa34f2b352b77bf53e7f581e3d60e8c59c84bf
|
4
|
+
data.tar.gz: 4dad71a39bddd155c2c3595a0995278a882e67a1
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: af04565ff5c6bd6fa406a124b865fd412353e3bae166cb798054cf79ec66e9632416269753539a5f3d2201f0c9831e30c702f31416d481efc6bde4392c3ecb7b
|
7
|
+
data.tar.gz: 8445b5bc982ee1254c110cf30b93508703c11b4d1f2d4dc6868b061fc7fd6bf86dffb18144d667d041c35940c35f06d36dc41ce5e960dfa474816b67e7701661
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2012 René Sprotte
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# Mabmapper [![Build Status](https://travis-ci.org/ubpb/mabmapper.png)](https://travis-ci.org/ubpb/mabmapper) [![Dependencies](https://gemnasium.com/ubpb/mabmapper.png?travis)](https://gemnasium.com/ubpb/mabmapper) [![Code Climate](https://codeclimate.com/github/ubpb/mabmapper.png)](https://codeclimate.com/github/ubpb/mabmapper)
|
2
|
+
|
3
|
+
WARNING: This project is currently work in progress. Anything is subject to change.
|
4
|
+
|
5
|
+
Mabmapper is a powerful and extendable processing engine to normalize any kind of
|
6
|
+
input data into a simple intermediate format made of fields and values.
|
7
|
+
|
8
|
+
Mabmapper was created by René Sprotte for the Library of the University of Paderborn,
|
9
|
+
as part of an implementation project for a new search engine interface. It comes bundled
|
10
|
+
with a ready to use engine and a simple and powerful
|
11
|
+
[domain-specific language (DSL)](http://en.wikipedia.org/wiki/Domain-specific_language)
|
12
|
+
based on [Ruby](http://www.ruby-lang.org) to process MabXML files created by the
|
13
|
+
[Aleph Integrated Library System](http://www.exlibrisgroup.com/category/Aleph).
|
14
|
+
Hence the name Mabmapper.
|
15
|
+
|
16
|
+
Mabmapper is extadable and it is easy to create custom engines to process any kind of input data.
|
17
|
+
|
18
|
+
## Why?
|
19
|
+
|
20
|
+
When working with heterogeneous data to feed into a search engine like [Primo](http://www.exlibrisgroup.com/category/PrimoOverview),
|
21
|
+
[Elastic Search](http://www.elasticsearch.org/) or [Solr](http://lucene.apache.org/solr/) it is often needed to
|
22
|
+
do some kind of data normalization to fit the data into a defined schema and/or to enrich the data. This is espacially true
|
23
|
+
when working with bibliographic data.
|
24
|
+
|
25
|
+
Some search solutions bundle normalization tools to deal with that problem. In case of Primo, the normalization is done
|
26
|
+
as part of the ingest workflow configured by a web based normalization rule editor. We find that approach
|
27
|
+
too cumbersome and inflexible to create and maintain complex normalization rules. This is where Mapmapper comes into play.
|
28
|
+
|
29
|
+
## Installation
|
30
|
+
|
31
|
+
In a terminal install the gem by running
|
32
|
+
|
33
|
+
$ gem install mabmapper
|
34
|
+
|
35
|
+
## Command line usage
|
36
|
+
|
37
|
+
Mabmapper provides the command line program `mabmapper`. In a terminal type
|
38
|
+
|
39
|
+
$ mabmapper --help
|
40
|
+
|
41
|
+
to explore how to use the program.
|
42
|
+
|
43
|
+
## Contributing
|
44
|
+
|
45
|
+
1. Fork it
|
46
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
47
|
+
3. Commit your changes (`git commit -am 'Added some feature'`)
|
48
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
49
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
require "bundler/gem_tasks"
|
3
|
+
require "pry"
|
4
|
+
require "rake/testtask"
|
5
|
+
require "rubygems/package"
|
6
|
+
|
7
|
+
Rake::TestTask.new do |t|
|
8
|
+
t.pattern = "test/test_*.rb"
|
9
|
+
end
|
10
|
+
|
11
|
+
task :create_mab_test_files_tar_gz do
|
12
|
+
mab_file_names = Dir.glob(File.expand_path('../test/mab_files', __FILE__) + '/**/PAD01.*.PRIMO.xml')
|
13
|
+
tar_gz_file_name = File.join(File.expand_path('..', __FILE__), 'mab_test_files.tar.gz')
|
14
|
+
gzip_writer = Zlib::GzipWriter.new(File.open(tar_gz_file_name, "w"))
|
15
|
+
tar_gz_writer = Gem::Package::TarWriter.new(gzip_writer)
|
16
|
+
|
17
|
+
mab_file_names.each do |mab_file_name|
|
18
|
+
mab_file_content = File.read(mab_file_name)
|
19
|
+
|
20
|
+
tar_gz_writer.add_file_simple(File.basename(mab_file_name), 0644, mab_file_content.bytesize) do |f|
|
21
|
+
f.write mab_file_content
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
tar_gz_writer.close
|
26
|
+
gzip_writer.close
|
27
|
+
end
|
28
|
+
|
29
|
+
task :default => :test
|
data/bin/mabmapper
ADDED