loc_mods 0.2.4 → 0.2.5

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 +83 -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 +8 -8
  12. data/lib/loc_mods/cli.rb +1 -2
  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 +10 -10
  39. data/lib/loc_mods/part.rb +10 -10
  40. data/lib/loc_mods/physical_description.rb +10 -10
  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 +4 -4
  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 +15 -15
  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 +5 -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 +5 -6
  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: a2a4762188e137e5ea3515cbff8dcbfa6e2749c7eb1ca4921d230e20c2c066db
4
+ data.tar.gz: a510dd995107ef4b33dabcc0c8e9658948e3c4d7474d50fd2cbd8d2eaf1b7e31
5
5
  SHA512:
6
- metadata.gz: 3597a8790c984fb0e4666d334d44727952e46bed0822b8c999dc4bfa3a32669ebfdf6150cc6ab4c37762b7483dfb376f716b9437e27634d594852dc10732de65
7
- data.tar.gz: 3d44d27786cea8ddd7024065b9ea8f8c5a0b08eebf6aa93d35dc24c9575c67f21a9a3ed69887b667332fa9e20af84dd003739b6853ec41b92960bd587132a8fc
6
+ metadata.gz: 410d05bac6bde6ad26693359a2331c7b93ba4abcdabed33ad51f3f25dd9c08491be258ff0c9c2f4752f9b323cfd9b60102193af4535d30e92b7297679892439a
7
+ data.tar.gz: a70f2deb4dff1d8fd8f119e2d78b40330444caffa5f3d47fc6939ba51241a47fcbaf47eda8a64f35b002d7c7660c7f9c97debceda0c9019e2d8c7a13870785e2
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,83 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2024-08-15 09:25:52 UTC using RuboCop version 1.65.1.
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: 4
17
+ # Configuration parameters: AllowedMethods.
18
+ # AllowedMethods: enums
19
+ Lint/ConstantDefinitionInBlock:
20
+ Exclude:
21
+ - 'spec/loc_mods/collection_spec.rb'
22
+
23
+ # Offense count: 8
24
+ # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
25
+ Metrics/AbcSize:
26
+ Max: 50
27
+
28
+ # Offense count: 2
29
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
30
+ # AllowedMethods: refine
31
+ Metrics/BlockLength:
32
+ Max: 66
33
+
34
+ # Offense count: 1
35
+ # Configuration parameters: CountComments, CountAsOne.
36
+ Metrics/ClassLength:
37
+ Max: 253
38
+
39
+ # Offense count: 6
40
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
41
+ Metrics/CyclomaticComplexity:
42
+ Max: 15
43
+
44
+ # Offense count: 10
45
+ # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
46
+ Metrics/MethodLength:
47
+ Max: 43
48
+
49
+ # Offense count: 5
50
+ # Configuration parameters: AllowedMethods, AllowedPatterns.
51
+ Metrics/PerceivedComplexity:
52
+ Max: 17
53
+
54
+ # Offense count: 1
55
+ # Configuration parameters: ForbiddenDelimiters.
56
+ # ForbiddenDelimiters: (?i-mx:(^|\s)(EO[A-Z]{1}|END)(\s|$))
57
+ Naming/HeredocDelimiterNaming:
58
+ Exclude:
59
+ - 'bin/update-nist-mods'
60
+
61
+ # Offense count: 1
62
+ Security/Open:
63
+ Exclude:
64
+ - 'bin/update-nist-mods'
65
+
66
+ # Offense count: 65
67
+ # Configuration parameters: AllowedConstants.
68
+ Style/Documentation:
69
+ Enabled: false
70
+
71
+ # Offense count: 1
72
+ # Configuration parameters: AllowedMethods.
73
+ # AllowedMethods: respond_to_missing?
74
+ Style/OptionalBooleanParameter:
75
+ Exclude:
76
+ - 'lib/loc_mods/comparable_mapper.rb'
77
+
78
+ # Offense count: 1
79
+ # This cop supports safe autocorrection (--autocorrect).
80
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
81
+ # URISchemes: http, https
82
+ Layout/LineLength:
83
+ Max: 126
@@ -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,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 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 :edition, :string
9
+ attribute :display_label, :string
10
+ attribute :alt_rep_group, :string
11
+ attribute :usage, :string
12
+ attribute :generator, :string
13
13
 
14
14
  xml do
15
15
  root "classification"
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,7 +72,7 @@ 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,
@@ -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