libis-tools 0.9.9 → 0.9.10

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +4 -2
  3. data/README.md +19 -0
  4. data/lib/libis/tools.rb +1 -0
  5. data/lib/libis/tools/config_file.rb +1 -1
  6. data/lib/libis/tools/extend/kernel.rb +16 -0
  7. data/lib/libis/tools/metadata.rb +20 -0
  8. data/lib/libis/tools/metadata/dublin_core_record.rb +1 -1
  9. data/lib/libis/tools/metadata/{field_spec.rb → field_format.rb} +7 -7
  10. data/lib/libis/tools/metadata/fix_field.rb +6 -1
  11. data/lib/libis/tools/metadata/mapper.rb +80 -0
  12. data/lib/libis/tools/metadata/mappers/flandrica.rb +69 -0
  13. data/lib/libis/tools/metadata/mappers/kuleuven.rb +1702 -0
  14. data/lib/libis/tools/metadata/marc21_record.rb +5 -4
  15. data/lib/libis/tools/metadata/marc_record.rb +96 -37
  16. data/lib/libis/tools/metadata/parser/basic_parser.rb +118 -0
  17. data/lib/libis/tools/metadata/parser/dublin_core_parser.rb +36 -0
  18. data/lib/libis/tools/metadata/parser/marc21_parser.rb +206 -0
  19. data/lib/libis/tools/metadata/parser/marc_format_parser.rb +52 -0
  20. data/lib/libis/tools/metadata/parser/marc_rules.rb +35 -0
  21. data/lib/libis/tools/metadata/parser/marc_select_parser.rb +25 -0
  22. data/lib/libis/tools/metadata/parser/patch.rb +21 -0
  23. data/lib/libis/tools/metadata/parser/subfield_criteria_parser.rb +71 -0
  24. data/lib/libis/tools/metadata/parsers.rb +12 -0
  25. data/lib/libis/tools/metadata/var_field.rb +57 -47
  26. data/lib/libis/tools/parameter.rb +12 -2
  27. data/lib/libis/tools/version.rb +1 -1
  28. data/libis-tools.gemspec +4 -3
  29. data/spec/config_spec.rb +3 -1
  30. data/spec/data/MetadataMapping.xlsx +0 -0
  31. data/spec/metadata/8389207.marc +96 -0
  32. data/spec/metadata/dublin_core_parser_spec.rb +48 -0
  33. data/spec/metadata/marc21_parser_data.rb +382 -0
  34. data/spec/metadata/marc21_parser_spec.rb +67 -0
  35. data/spec/metadata/marc21_spec.rb +116 -0
  36. data/spec/metadata/metadata_mapper_spec.rb +23 -0
  37. data/spec/spec_helper.rb +13 -0
  38. data/test.rb +61 -0
  39. metadata +77 -7
  40. 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