metacrunch-mab2 1.2.1 → 1.3.0
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 +4 -4
- data/Readme.md +65 -2
- data/bin/console +1 -1
- data/lib/metacrunch/mab2/document.rb +8 -1
- data/lib/metacrunch/mab2/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4fcb5d4bd47931fef5a39adc312f460f39e2b66b
|
4
|
+
data.tar.gz: 03cc9ab6343d93a805f4863e590436f5698de5d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a442e7314ef015a6efb7f41c1eaec8cc60fd79449c5404916a95b87d5ca2932e7082bc8ace503f56b65c0d12cb07c619369c703b1a1546ddc00a7eb1ec623090
|
7
|
+
data.tar.gz: 71ee09c43f5f725ffe6da22c34e82998fa1781037ee53c2abed1756b4c3a9a1c2b0b08ac309c7c4985e05e6ac23c739aea1ef50966a1cee7568f29a41bea630a
|
data/Readme.md
CHANGED
@@ -1,6 +1,69 @@
|
|
1
|
-
|
1
|
+
metacrunch-mab2
|
2
|
+
===============
|
2
3
|
|
3
4
|
[](https://codeclimate.com/github/ubpb/metacrunch-mab2)
|
4
5
|
[](https://travis-ci.org/ubpb/metacrunch-mab2)
|
5
6
|
|
6
|
-
|
7
|
+
This is the official MAB2 package for the [metacrunch ETL toolkit](https://github.com/ubpb/metacrunch). It allows you to parse [MAB](https://de.wikipedia.org/wiki/Maschinelles_Austauschformat_f%C3%BCr_Bibliotheken) data and gives you access to the data by a simple and powerful API.
|
8
|
+
|
9
|
+
*Note: There is no runtime dependency to metacrunch, so it's fine to use this gem in any Ruby application where you need to read or manipulate MAB data.*
|
10
|
+
|
11
|
+
|
12
|
+
Installation
|
13
|
+
------------
|
14
|
+
|
15
|
+
```
|
16
|
+
$ gem install metacrunch-mab2
|
17
|
+
```
|
18
|
+
|
19
|
+
|
20
|
+
Usage example
|
21
|
+
-------------
|
22
|
+
|
23
|
+
For the full API look at the files in [https://github.com/ubpb/metacrunch-mab2/tree/master/lib/metacrunch/mab2](https://github.com/ubpb/metacrunch-mab2/tree/master/lib/metacrunch/mab2)
|
24
|
+
|
25
|
+
**Loading the library**
|
26
|
+
```ruby
|
27
|
+
require "metacrunch/mab2"
|
28
|
+
```
|
29
|
+
|
30
|
+
**Parsing a [MAB XML file](https://github.com/ubpb/metacrunch-mab2/blob/master/spec/assets/aleph_mab_xml/file1.xml)**
|
31
|
+
```ruby
|
32
|
+
document = Metacrunch::Mab2::Document.from_mab_xml(File.read("my/mab.xml"))
|
33
|
+
```
|
34
|
+
|
35
|
+
**Accessing control fields**
|
36
|
+
```ruby
|
37
|
+
document.controlfield("LDR")
|
38
|
+
|
39
|
+
# <Metacrunch::Mab2::Document::Controlfield:0x007f98061b4b08
|
40
|
+
# @tag="LDR",
|
41
|
+
# @values=["-", "-", "-", "-", "-", "-", "M", "2", ".", "0", "1", "2", "0", "0", "0", "2", "4", "-", "-", "-", "-", "-", "-", "h"]>
|
42
|
+
```
|
43
|
+
|
44
|
+
**Accessing data fields**
|
45
|
+
```ruby
|
46
|
+
document.datafields("100")
|
47
|
+
|
48
|
+
#<Metacrunch::Mab2::Document::DatafieldSet:0x007f98052e5af0
|
49
|
+
# @datafields=
|
50
|
+
# [#<Metacrunch::Mab2::Document::Datafield:0x007f98061a5ea0
|
51
|
+
# @ind1="-",
|
52
|
+
# @ind2="1",
|
53
|
+
# @subfields=
|
54
|
+
# {"p"=>[#<Metacrunch::Mab2::Document::Subfield:0x007f98061a5dd8 @code="p", @value="Kofler, Michael">],
|
55
|
+
# "d"=>[#<Metacrunch::Mab2::Document::Subfield:0x007f98061a5ce8 @code="d", @value="1967-">],
|
56
|
+
# "9"=>[#<Metacrunch::Mab2::Document::Subfield:0x007f98061a5bf8 @code="9", @value="(DE-588)121636763">]},
|
57
|
+
# @tag="100">]>
|
58
|
+
```
|
59
|
+
|
60
|
+
```ruby
|
61
|
+
document.datafields("100", ind1: :blank).subfields("p").value
|
62
|
+
|
63
|
+
# Kofler, Michael
|
64
|
+
```
|
65
|
+
|
66
|
+
License
|
67
|
+
-------
|
68
|
+
|
69
|
+
metacrunch-mab2 is available at [github](https://github.com/ubpb/metacrunch-mab2) under [MIT license](https://github.com/ubpb/metacrunch-mab2/blob/master/License.txt).
|
data/bin/console
CHANGED
@@ -21,10 +21,17 @@ module Metacrunch
|
|
21
21
|
# @param [String] xml repesenting a MAB document in Aleph MAB XML format
|
22
22
|
# @return [Metacrunch::Mab2::Document]
|
23
23
|
#
|
24
|
-
def self.
|
24
|
+
def self.from_mab_xml(xml)
|
25
25
|
MabXmlParser.new.parse(xml)
|
26
26
|
end
|
27
27
|
|
28
|
+
# TODO: Remove form 2.0
|
29
|
+
def self.from_aleph_mab_xml(xml)
|
30
|
+
d = ActiveSupport::Deprecation.new("2.0", "metacrunch-mab2")
|
31
|
+
d.deprecation_warning("#from_aleph_mab_xml", "use #from_mab_xml instead")
|
32
|
+
self.from_mab_xml(xml)
|
33
|
+
end
|
34
|
+
|
28
35
|
def initialize
|
29
36
|
@controlfields = {}
|
30
37
|
@datafields = {}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metacrunch-mab2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- René Sprotte
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-07-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|