loc_mods 0.2.4 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +2 -0
  3. data/.rubocop_todo.yml +87 -0
  4. data/lib/loc_mods/abstract.rb +9 -9
  5. data/lib/loc_mods/access_condition.rb +11 -11
  6. data/lib/loc_mods/alternative_name.rb +10 -10
  7. data/lib/loc_mods/area.rb +3 -3
  8. data/lib/loc_mods/cartographic_extension.rb +4 -4
  9. data/lib/loc_mods/cartographics.rb +8 -8
  10. data/lib/loc_mods/city_section.rb +3 -3
  11. data/lib/loc_mods/classification.rb +10 -8
  12. data/lib/loc_mods/cli.rb +2 -3
  13. data/lib/loc_mods/collection.rb +3 -3
  14. data/lib/loc_mods/copy_information.rb +5 -5
  15. data/lib/loc_mods/date.rb +8 -8
  16. data/lib/loc_mods/date_other.rb +4 -4
  17. data/lib/loc_mods/detail.rb +7 -7
  18. data/lib/loc_mods/edition.rb +4 -4
  19. data/lib/loc_mods/enumeration_and_chronology.rb +4 -4
  20. data/lib/loc_mods/extent.rb +4 -4
  21. data/lib/loc_mods/extent_definition.rb +7 -7
  22. data/lib/loc_mods/form.rb +5 -5
  23. data/lib/loc_mods/genre.rb +8 -8
  24. data/lib/loc_mods/geographic_code.rb +6 -6
  25. data/lib/loc_mods/hierarchical_geographic.rb +6 -6
  26. data/lib/loc_mods/hierarchical_part.rb +8 -8
  27. data/lib/loc_mods/holding_simple.rb +2 -2
  28. data/lib/loc_mods/identifier.rb +8 -8
  29. data/lib/loc_mods/item_identifier.rb +4 -4
  30. data/lib/loc_mods/language.rb +9 -9
  31. data/lib/loc_mods/language_term.rb +7 -7
  32. data/lib/loc_mods/location.rb +8 -8
  33. data/lib/loc_mods/name.rb +19 -19
  34. data/lib/loc_mods/name_part.rb +4 -4
  35. data/lib/loc_mods/non_sort.rb +4 -4
  36. data/lib/loc_mods/note.rb +7 -7
  37. data/lib/loc_mods/occupation.rb +6 -6
  38. data/lib/loc_mods/origin_info.rb +11 -11
  39. data/lib/loc_mods/part.rb +10 -10
  40. data/lib/loc_mods/physical_description.rb +11 -11
  41. data/lib/loc_mods/physical_description_note.rb +7 -7
  42. data/lib/loc_mods/physical_location.rb +5 -5
  43. data/lib/loc_mods/place.rb +3 -3
  44. data/lib/loc_mods/place_term.rb +7 -7
  45. data/lib/loc_mods/publisher.rb +6 -6
  46. data/lib/loc_mods/record.rb +5 -5
  47. data/lib/loc_mods/record_content_source.rb +4 -4
  48. data/lib/loc_mods/record_identifier.rb +4 -4
  49. data/lib/loc_mods/record_info.rb +9 -9
  50. data/lib/loc_mods/record_info_note.rb +8 -8
  51. data/lib/loc_mods/region.rb +3 -3
  52. data/lib/loc_mods/related_item.rb +10 -10
  53. data/lib/loc_mods/role.rb +2 -2
  54. data/lib/loc_mods/role_term.rb +4 -4
  55. data/lib/loc_mods/script_term.rb +4 -4
  56. data/lib/loc_mods/string_plus_language.rb +6 -6
  57. data/lib/loc_mods/string_plus_language_plus_authority.rb +6 -6
  58. data/lib/loc_mods/string_plus_language_plus_supplied.rb +4 -4
  59. data/lib/loc_mods/subject.rb +16 -16
  60. data/lib/loc_mods/subject_name.rb +14 -14
  61. data/lib/loc_mods/subject_title_info.rb +16 -16
  62. data/lib/loc_mods/table_of_contents.rb +9 -9
  63. data/lib/loc_mods/target_audience.rb +7 -5
  64. data/lib/loc_mods/temporal.rb +5 -5
  65. data/lib/loc_mods/text.rb +5 -5
  66. data/lib/loc_mods/title_info.rb +22 -22
  67. data/lib/loc_mods/type_of_resource.rb +8 -8
  68. data/lib/loc_mods/url.rb +8 -8
  69. data/lib/loc_mods/version.rb +1 -1
  70. data/lib/loc_mods.rb +7 -6
  71. metadata +8 -9
  72. data/lib/loc_mods/base_mapper.rb +0 -26
  73. data/lib/loc_mods/comparable_mapper.rb +0 -501
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c4e669e85342e73695662fb8685879a283bd8b166c44a180de849a1a868d5db3
4
- data.tar.gz: 93bd3bce5771da37094b7b2f4431c733fd5024be93fbde51900ea3e76a95af1b
3
+ metadata.gz: 5613f1f712d8203015a0fb3e47fd3741086837e9d428867aab27b572719b2747
4
+ data.tar.gz: 021aa87a31a69b90abbd870de1ca2a5e6bdfb2379a5e42db002b7fefd1ac8466
5
5
  SHA512:
6
- metadata.gz: 3597a8790c984fb0e4666d334d44727952e46bed0822b8c999dc4bfa3a32669ebfdf6150cc6ab4c37762b7483dfb376f716b9437e27634d594852dc10732de65
7
- data.tar.gz: 3d44d27786cea8ddd7024065b9ea8f8c5a0b08eebf6aa93d35dc24c9575c67f21a9a3ed69887b667332fa9e20af84dd003739b6853ec41b92960bd587132a8fc
6
+ metadata.gz: 4a5960d07721a5de9a030c3137c1a66072f5399ea96b897eceb98a81dd273967073de1e48f8237209dc66ca28514230f42bc9c8bc596db11d777545eca71159c
7
+ data.tar.gz: 44f4ec3fd0969b5a45458917ef386556901e9ec032affcce994d34456ebeb9d15d2bb55f9d8554e6767cc17335a7ff19d0523df93c21591124c909fab242912a
data/.rubocop.yml CHANGED
@@ -1,3 +1,5 @@
1
+ inherit_from: .rubocop_todo.yml
2
+
1
3
  AllCops:
2
4
  TargetRubyVersion: 3.0
3
5
 
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,87 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2025-01-14 08:30:09 UTC using RuboCop version 1.70.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 1
10
+ # Configuration parameters: Severity, Include.
11
+ # Include: **/*.gemspec
12
+ Gemspec/RequiredRubyVersion:
13
+ Exclude:
14
+ - 'loc_mods.gemspec'
15
+
16
+ # Offense count: 1
17
+ # Configuration parameters: AllowedMethods.
18
+ # AllowedMethods: enums
19
+ Lint/ConstantDefinitionInBlock:
20
+ Exclude:
21
+ - 'spec/loc_mods/collection_spec.rb'
22
+
23
+ # Offense count: 1
24
+ # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
25
+ Metrics/AbcSize:
26
+ Max: 50
27
+
28
+ # Offense count: 1
29
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
30
+ # AllowedMethods: refine
31
+ Metrics/BlockLength:
32
+ Max: 32
33
+
34
+ # Offense count: 2
35
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
36
+ Metrics/CyclomaticComplexity:
37
+ Max: 15
38
+
39
+ # Offense count: 3
40
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
41
+ Metrics/MethodLength:
42
+ Max: 43
43
+
44
+ # Offense count: 2
45
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
46
+ Metrics/PerceivedComplexity:
47
+ Max: 16
48
+
49
+ # Offense count: 1
50
+ # Configuration parameters: ForbiddenDelimiters.
51
+ # ForbiddenDelimiters: (?i-mx:(^|\s)(EO[A-Z]{1}|END)(\s|$))
52
+ Naming/HeredocDelimiterNaming:
53
+ Exclude:
54
+ - 'bin/update-nist-mods'
55
+
56
+ # Offense count: 1
57
+ Security/Open:
58
+ Exclude:
59
+ - 'bin/update-nist-mods'
60
+
61
+ # Offense count: 63
62
+ # Configuration parameters: AllowedConstants.
63
+ Style/Documentation:
64
+ Enabled: false
65
+
66
+ # Offense count: 1
67
+ # This cop supports safe autocorrection (--autocorrect).
68
+ # Configuration parameters: Strict, AllowedNumbers, AllowedPatterns.
69
+ Style/NumericLiterals:
70
+ MinDigits: 6
71
+
72
+ # Offense count: 2
73
+ # This cop supports safe autocorrection (--autocorrect).
74
+ # Configuration parameters: EnforcedStyleForMultiline.
75
+ # SupportedStylesForMultiline: comma, consistent_comma, no_comma
76
+ Style/TrailingCommaInArguments:
77
+ Exclude:
78
+ - 'lib/loc_mods/cli.rb'
79
+ - 'spec/loc_mods/collection_spec.rb'
80
+
81
+ # Offense count: 1
82
+ # This cop supports safe autocorrection (--autocorrect).
83
+ # Configuration parameters: EnforcedStyleForMultiline.
84
+ # SupportedStylesForMultiline: comma, consistent_comma, no_comma
85
+ Style/TrailingCommaInArrayLiteral:
86
+ Exclude:
87
+ - 'spec/loc_mods/collection_spec.rb'
@@ -1,16 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class Abstract < BaseMapper
7
- attribute :content, Shale::Type::String
8
- attribute :display_label, Shale::Type::String
9
- attribute :type, Shale::Type::String
10
- attribute :shareable, Shale::Type::Value
11
- attribute :alt_rep_group, Shale::Type::String
12
- attribute :alt_format, Shale::Type::Value
13
- attribute :content_type, Shale::Type::String
6
+ class Abstract < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :display_label, :string
9
+ attribute :type, :string
10
+ attribute :shareable, :string
11
+ attribute :alt_rep_group, :string
12
+ attribute :alt_format, :string
13
+ attribute :content_type, :string
14
14
 
15
15
  xml do
16
16
  root "abstract"
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class AccessCondition < BaseMapper
7
- attribute :content, Shale::Type::String
8
- attribute :display_label, Shale::Type::String
9
- attribute :lang, Shale::Type::String
10
- attribute :script, Shale::Type::String
11
- attribute :transliteration, Shale::Type::String
12
- attribute :type, Shale::Type::String
13
- attribute :alt_rep_group, Shale::Type::String
14
- attribute :alt_format, Shale::Type::Value
15
- attribute :content_type, Shale::Type::String
6
+ class AccessCondition < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :display_label, :string
9
+ attribute :lang, :string
10
+ attribute :script, :string
11
+ attribute :transliteration, :string
12
+ attribute :type, :string
13
+ attribute :alt_rep_group, :string
14
+ attribute :alt_format, :string
15
+ attribute :content_type, :string
16
16
 
17
17
  xml do
18
18
  root "accessCondition"
@@ -1,23 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  require_relative "identifier"
6
6
  require_relative "name_part"
7
7
  require_relative "role"
8
8
 
9
9
  module LocMods
10
- class AlternativeName < BaseMapper
11
- attribute :lang, Shale::Type::String
12
- attribute :script, Shale::Type::String
13
- attribute :transliteration, Shale::Type::String
14
- attribute :display_label, Shale::Type::String
15
- attribute :alt_type, Shale::Type::String
10
+ class AlternativeName < Lutaml::Model::Serializable
11
+ attribute :lang, :string
12
+ attribute :script, :string
13
+ attribute :transliteration, :string
14
+ attribute :display_label, :string
15
+ attribute :alt_type, :string
16
16
  attribute :name_part, NamePart, collection: true
17
- attribute :display_form, Shale::Type::String, collection: true
18
- attribute :affiliation, Shale::Type::String, collection: true
17
+ attribute :display_form, :string, collection: true
18
+ attribute :affiliation, :string, collection: true
19
19
  attribute :role, Role, collection: true
20
- attribute :description, Shale::Type::String, collection: true
20
+ attribute :description, :string, collection: true
21
21
  attribute :name_identifier, Identifier, collection: true
22
22
 
23
23
  xml do
data/lib/loc_mods/area.rb CHANGED
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  require_relative "hierarchical_part"
6
6
 
7
7
  module LocMods
8
- class Area < BaseMapper
8
+ class Area < Lutaml::Model::Serializable
9
9
  attribute :content, HierarchicalPart
10
- attribute :area_type, Shale::Type::Value
10
+ attribute :area_type, :string
11
11
 
12
12
  xml do
13
13
  root "area"
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class CartographicExtension < BaseMapper
7
- attribute :content, Shale::Type::String
8
- attribute :display_label, Shale::Type::String
6
+ class CartographicExtension < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :display_label, :string
9
9
 
10
10
  xml do
11
11
  root "cartographicExtension"
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  require_relative "cartographic_extension"
6
6
 
7
7
  module LocMods
8
- class Cartographics < BaseMapper
9
- attribute :authority, Shale::Type::String
10
- attribute :authority_uri, Shale::Type::Value
11
- attribute :value_uri, Shale::Type::Value
12
- attribute :scale, Shale::Type::String
13
- attribute :projection, Shale::Type::String
14
- attribute :coordinates, Shale::Type::String, collection: true
8
+ class Cartographics < Lutaml::Model::Serializable
9
+ attribute :authority, :string
10
+ attribute :authority_uri, :string
11
+ attribute :value_uri, :string
12
+ attribute :scale, :string
13
+ attribute :projection, :string
14
+ attribute :coordinates, :string, collection: true
15
15
  attribute :cartographic_extension, CartographicExtension, collection: true
16
16
 
17
17
  xml do
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  require_relative "hierarchical_part"
6
6
 
7
7
  module LocMods
8
- class CitySection < BaseMapper
8
+ class CitySection < Lutaml::Model::Serializable
9
9
  attribute :content, HierarchicalPart
10
- attribute :city_section_type, Shale::Type::Value
10
+ attribute :city_section_type, :string
11
11
 
12
12
  xml do
13
13
  root "citySection"
@@ -1,21 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class Classification < BaseMapper
7
- attribute :content, Shale::Type::String
8
- attribute :edition, Shale::Type::String
9
- attribute :display_label, Shale::Type::String
10
- attribute :alt_rep_group, Shale::Type::String
11
- attribute :usage, Shale::Type::Value
12
- attribute :generator, Shale::Type::String
6
+ class Classification < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :authority, :string
9
+ attribute :edition, :string
10
+ attribute :display_label, :string
11
+ attribute :alt_rep_group, :string
12
+ attribute :usage, :string
13
+ attribute :generator, :string
13
14
 
14
15
  xml do
15
16
  root "classification"
16
17
  namespace "http://www.loc.gov/mods/v3", nil
17
18
 
18
19
  map_content to: :content
20
+ map_attribute "authority", to: :authority
19
21
  map_attribute "edition", to: :edition
20
22
  map_attribute "displayLabel", to: :display_label
21
23
  map_attribute "altRepGroup", to: :alt_rep_group
data/lib/loc_mods/cli.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # lib/loc_mods/cli.rb
4
3
  require "thor"
5
4
  require "loc_mods"
6
5
 
@@ -73,13 +72,13 @@ module LocMods
73
72
  end
74
73
 
75
74
  def print_differences(record1, record2, show_unchanged, highlight_diff, use_colors)
76
- diff_score, diff_tree = LocMods::BaseMapper.diff_with_score(
75
+ diff_score, diff_tree = Lutaml::Model::Serialize.diff_with_score(
77
76
  record1,
78
77
  record2,
79
78
  show_unchanged: show_unchanged,
80
79
  highlight_diff: highlight_diff,
81
80
  use_colors: use_colors,
82
- indent: " ",
81
+ indent: " "
83
82
  )
84
83
  similarity_percentage = (1 - diff_score) * 100
85
84
 
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  require_relative "record"
6
6
 
7
7
  module LocMods
8
- class Collection < BaseMapper
8
+ class Collection < Lutaml::Model::Serializable
9
9
  attribute :mods, Record, collection: true
10
- attribute :schema_location, Shale::Type::String
10
+ attribute :schema_location, :string
11
11
 
12
12
  xml do
13
13
  root "modsCollection"
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  require_relative "enumeration_and_chronology"
6
6
  require_relative "form"
@@ -8,11 +8,11 @@ require_relative "item_identifier"
8
8
  require_relative "note"
9
9
 
10
10
  module LocMods
11
- class CopyInformation < BaseMapper
11
+ class CopyInformation < Lutaml::Model::Serializable
12
12
  attribute :form, Form
13
- attribute :sub_location, Shale::Type::String, collection: true
14
- attribute :shelf_locator, Shale::Type::String, collection: true
15
- attribute :electronic_locator, Shale::Type::String, collection: true
13
+ attribute :sub_location, :string, collection: true
14
+ attribute :shelf_locator, :string, collection: true
15
+ attribute :electronic_locator, :string, collection: true
16
16
  attribute :note, Note, collection: true
17
17
  attribute :enumeration_and_chronology, EnumerationAndChronology,
18
18
  collection: true
data/lib/loc_mods/date.rb CHANGED
@@ -1,15 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class Date < BaseMapper
7
- attribute :content, Shale::Type::String
8
- attribute :encoding, Shale::Type::String
9
- attribute :qualifier, Shale::Type::String
10
- attribute :point, Shale::Type::String
11
- attribute :key_date, Shale::Type::Value
12
- attribute :calendar, Shale::Type::String
6
+ class Date < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :encoding, :string
9
+ attribute :qualifier, :string
10
+ attribute :point, :string
11
+ attribute :key_date, :string
12
+ attribute :calendar, :string
13
13
 
14
14
  xml do
15
15
  root "recordChangeDate"
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  require_relative "date"
6
6
 
7
7
  module LocMods
8
- class DateOther < BaseMapper
9
- attribute :content, Shale::Type::String
10
- attribute :type, Shale::Type::String
8
+ class DateOther < Lutaml::Model::Serializable
9
+ attribute :content, :string
10
+ attribute :type, :string
11
11
 
12
12
  xml do
13
13
  root "dateOther"
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class Detail < BaseMapper
7
- attribute :type, Shale::Type::String
8
- attribute :level, Shale::Type::Integer
9
- attribute :number, Shale::Type::String, collection: true
10
- attribute :caption, Shale::Type::String, collection: true
11
- attribute :title, Shale::Type::String, collection: true
6
+ class Detail < Lutaml::Model::Serializable
7
+ attribute :type, :string
8
+ attribute :level, :integer
9
+ attribute :number, :string, collection: true
10
+ attribute :caption, :string, collection: true
11
+ attribute :title, :string, collection: true
12
12
 
13
13
  xml do
14
14
  root "detail"
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
6
  # LocMods::StringPlusLanguagePlusSupplied
7
- class Edition < BaseMapper
8
- attribute :content, Shale::Type::String
9
- attribute :supplied, Shale::Type::String
7
+ class Edition < Lutaml::Model::Serializable
8
+ attribute :content, :string
9
+ attribute :supplied, :string
10
10
 
11
11
  xml do
12
12
  root "edition"
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class EnumerationAndChronology < BaseMapper
7
- attribute :content, Shale::Type::String
8
- attribute :unit_type, Shale::Type::String
6
+ class EnumerationAndChronology < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :unit_type, :string
9
9
 
10
10
  xml do
11
11
  root "enumerationAndChronology"
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class Extent < BaseMapper
7
- attribute :content, Shale::Type::String
8
- attribute :unit, Shale::Type::Value
6
+ class Extent < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :unit, :string
9
9
 
10
10
  xml do
11
11
  root "extent"
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class ExtentDefinition < BaseMapper
7
- attribute :unit, Shale::Type::String
8
- attribute :start, Shale::Type::String
9
- attribute :end, Shale::Type::String
10
- attribute :total, Shale::Type::Integer
11
- attribute :list, Shale::Type::String
6
+ class ExtentDefinition < Lutaml::Model::Serializable
7
+ attribute :unit, :string
8
+ attribute :start, :string
9
+ attribute :end, :string
10
+ attribute :total, :integer
11
+ attribute :list, :string
12
12
 
13
13
  xml do
14
14
  root "extentDefinition"
data/lib/loc_mods/form.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class Form < BaseMapper
7
- attribute :content, Shale::Type::String
8
- attribute :type, Shale::Type::String
9
- attribute :authority, Shale::Type::String
6
+ class Form < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :type, :string
9
+ attribute :authority, :string
10
10
 
11
11
  xml do
12
12
  root "form"
@@ -1,15 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class Genre < BaseMapper
7
- attribute :content, Shale::Type::String
8
- attribute :type, Shale::Type::String
9
- attribute :display_label, Shale::Type::String
10
- attribute :alt_rep_group, Shale::Type::String
11
- attribute :usage, Shale::Type::String
12
- attribute :authority, Shale::Type::String
6
+ class Genre < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :type, :string
9
+ attribute :display_label, :string
10
+ attribute :alt_rep_group, :string
11
+ attribute :usage, :string
12
+ attribute :authority, :string
13
13
 
14
14
  xml do
15
15
  root "genre"
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class GeographicCode < BaseMapper
7
- attribute :content, Shale::Type::String
8
- attribute :authority_uri, Shale::Type::Value
9
- attribute :value_uri, Shale::Type::Value
10
- attribute :authority, Shale::Type::String
6
+ class GeographicCode < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :authority_uri, :string
9
+ attribute :value_uri, :string
10
+ attribute :authority, :string
11
11
 
12
12
  xml do
13
13
  root "geographicCode"
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  require_relative "area"
6
6
  require_relative "city_section"
@@ -8,14 +8,14 @@ require_relative "hierarchical_part"
8
8
  require_relative "region"
9
9
 
10
10
  module LocMods
11
- class HierarchicalGeographic < BaseMapper
12
- attribute :authority, Shale::Type::String
13
- attribute :authority_uri, Shale::Type::Value
14
- attribute :value_uri, Shale::Type::Value
11
+ class HierarchicalGeographic < Lutaml::Model::Serializable
12
+ attribute :authority, :string
13
+ attribute :authority_uri, :string
14
+ attribute :value_uri, :string
15
15
  attribute :extra_terrestrial_area, HierarchicalPart, collection: true
16
16
  attribute :continent, HierarchicalPart, collection: true
17
17
  attribute :country, HierarchicalPart, collection: true
18
- attribute :province, Shale::Type::String, collection: true
18
+ attribute :province, :string, collection: true
19
19
  attribute :region, Region, collection: true
20
20
  attribute :state, HierarchicalPart, collection: true
21
21
  attribute :territory, HierarchicalPart, collection: true
@@ -1,15 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  module LocMods
6
- class HierarchicalPart < BaseMapper
7
- attribute :content, Shale::Type::String
8
- attribute :level, Shale::Type::Value
9
- attribute :period, Shale::Type::Value
10
- attribute :authority, Shale::Type::String
11
- attribute :authority_uri, Shale::Type::Value
12
- attribute :value_uri, Shale::Type::Value
6
+ class HierarchicalPart < Lutaml::Model::Serializable
7
+ attribute :content, :string
8
+ attribute :level, :string
9
+ attribute :period, :string
10
+ attribute :authority, :string
11
+ attribute :authority_uri, :string
12
+ attribute :value_uri, :string
13
13
 
14
14
  xml do
15
15
  root "territory"
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "base_mapper"
3
+ require "lutaml/model"
4
4
 
5
5
  require_relative "copy_information"
6
6
 
7
7
  module LocMods
8
- class HoldingSimple < BaseMapper
8
+ class HoldingSimple < Lutaml::Model::Serializable
9
9
  attribute :copy_information, CopyInformation, collection: true
10
10
 
11
11
  xml do