libis-tools 0.9.9 → 0.9.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +4 -2
- data/README.md +19 -0
- data/lib/libis/tools.rb +1 -0
- data/lib/libis/tools/config_file.rb +1 -1
- data/lib/libis/tools/extend/kernel.rb +16 -0
- data/lib/libis/tools/metadata.rb +20 -0
- data/lib/libis/tools/metadata/dublin_core_record.rb +1 -1
- data/lib/libis/tools/metadata/{field_spec.rb → field_format.rb} +7 -7
- data/lib/libis/tools/metadata/fix_field.rb +6 -1
- data/lib/libis/tools/metadata/mapper.rb +80 -0
- data/lib/libis/tools/metadata/mappers/flandrica.rb +69 -0
- data/lib/libis/tools/metadata/mappers/kuleuven.rb +1702 -0
- data/lib/libis/tools/metadata/marc21_record.rb +5 -4
- data/lib/libis/tools/metadata/marc_record.rb +96 -37
- data/lib/libis/tools/metadata/parser/basic_parser.rb +118 -0
- data/lib/libis/tools/metadata/parser/dublin_core_parser.rb +36 -0
- data/lib/libis/tools/metadata/parser/marc21_parser.rb +206 -0
- data/lib/libis/tools/metadata/parser/marc_format_parser.rb +52 -0
- data/lib/libis/tools/metadata/parser/marc_rules.rb +35 -0
- data/lib/libis/tools/metadata/parser/marc_select_parser.rb +25 -0
- data/lib/libis/tools/metadata/parser/patch.rb +21 -0
- data/lib/libis/tools/metadata/parser/subfield_criteria_parser.rb +71 -0
- data/lib/libis/tools/metadata/parsers.rb +12 -0
- data/lib/libis/tools/metadata/var_field.rb +57 -47
- data/lib/libis/tools/parameter.rb +12 -2
- data/lib/libis/tools/version.rb +1 -1
- data/libis-tools.gemspec +4 -3
- data/spec/config_spec.rb +3 -1
- data/spec/data/MetadataMapping.xlsx +0 -0
- data/spec/metadata/8389207.marc +96 -0
- data/spec/metadata/dublin_core_parser_spec.rb +48 -0
- data/spec/metadata/marc21_parser_data.rb +382 -0
- data/spec/metadata/marc21_parser_spec.rb +67 -0
- data/spec/metadata/marc21_spec.rb +116 -0
- data/spec/metadata/metadata_mapper_spec.rb +23 -0
- data/spec/spec_helper.rb +13 -0
- data/test.rb +61 -0
- metadata +77 -7
- data/lib/libis/tools/dc_record.rb +0 -47
@@ -1,47 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require_relative 'xml_document'
|
4
|
-
|
5
|
-
module Libis
|
6
|
-
module Tools
|
7
|
-
|
8
|
-
class DCRecord < XmlDocument
|
9
|
-
|
10
|
-
# noinspection RubyResolve
|
11
|
-
def initialize(doc = nil)
|
12
|
-
super('utf-8')
|
13
|
-
case doc
|
14
|
-
when NilClass
|
15
|
-
build do |xml|
|
16
|
-
xml[:dc].record('xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
|
17
|
-
'xmlns:dc' => 'http://purl.org/dc/elements/1.1/',
|
18
|
-
'xmlns:dcterms' => 'http://purl.org/dc/terms/') {
|
19
|
-
yield xml if block_given?
|
20
|
-
}
|
21
|
-
end
|
22
|
-
when ::Libis::Tools::XmlDocument
|
23
|
-
@document = doc.document.dup
|
24
|
-
when String
|
25
|
-
if File.exist?(doc)
|
26
|
-
# noinspection RubyResolve
|
27
|
-
load(doc)
|
28
|
-
else
|
29
|
-
parse(doc)
|
30
|
-
end
|
31
|
-
when Hash
|
32
|
-
self.from_hash(doc)
|
33
|
-
when IO
|
34
|
-
self.parse(doc.read)
|
35
|
-
else
|
36
|
-
raise ArgumentError, "Invalid argument: #{doc.inspect}"
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def add(tag, value = nil, attributes = {})
|
41
|
-
add_node(tag, value, root, attributes)
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
end
|
47
|
-
end
|