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.
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