cocina-models 0.75.0 → 0.76.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +40 -12
  3. data/.rubocop_todo.yml +71 -2
  4. data/README.md +10 -3
  5. data/cocina-models.gemspec +2 -0
  6. data/description_types.yml +165 -38
  7. data/docs/description_types.md +469 -216
  8. data/lib/cocina/generator/generator.rb +7 -12
  9. data/lib/cocina/generator/schema.rb +1 -3
  10. data/lib/cocina/generator/schema_base.rb +0 -8
  11. data/lib/cocina/generator/schema_ref.rb +1 -1
  12. data/lib/cocina/generator/schema_value.rb +14 -4
  13. data/lib/cocina/models/access.rb +4 -4
  14. data/lib/cocina/models/admin_policy.rb +1 -1
  15. data/lib/cocina/models/admin_policy_access_template.rb +7 -7
  16. data/lib/cocina/models/admin_policy_administrative.rb +1 -1
  17. data/lib/cocina/models/admin_policy_with_metadata.rb +3 -3
  18. data/lib/cocina/models/builders/name_title_group_builder.rb +0 -4
  19. data/lib/cocina/models/builders/title_builder.rb +0 -2
  20. data/lib/cocina/models/citation_only_access.rb +2 -2
  21. data/lib/cocina/models/collection_access.rb +4 -4
  22. data/lib/cocina/models/collection_identification.rb +1 -1
  23. data/lib/cocina/models/collection_with_metadata.rb +2 -2
  24. data/lib/cocina/models/contributor.rb +4 -4
  25. data/lib/cocina/models/controlled_digital_lending_access.rb +2 -2
  26. data/lib/cocina/models/dark_access.rb +4 -4
  27. data/lib/cocina/models/description.rb +3 -3
  28. data/lib/cocina/models/descriptive_basic_value.rb +13 -13
  29. data/lib/cocina/models/descriptive_parallel_contributor.rb +5 -5
  30. data/lib/cocina/models/descriptive_parallel_event.rb +3 -3
  31. data/lib/cocina/models/descriptive_value.rb +13 -13
  32. data/lib/cocina/models/descriptive_value_language.rb +6 -6
  33. data/lib/cocina/models/dro.rb +1 -1
  34. data/lib/cocina/models/dro_access.rb +8 -8
  35. data/lib/cocina/models/dro_with_metadata.rb +3 -3
  36. data/lib/cocina/models/embargo.rb +5 -5
  37. data/lib/cocina/models/event.rb +3 -3
  38. data/lib/cocina/models/file.rb +4 -4
  39. data/lib/cocina/models/file_access.rb +4 -4
  40. data/lib/cocina/models/identification.rb +2 -2
  41. data/lib/cocina/models/language.rb +12 -12
  42. data/lib/cocina/models/location_based_access.rb +1 -1
  43. data/lib/cocina/models/location_based_download_access.rb +1 -1
  44. data/lib/cocina/models/mapping/error_notifier.rb +36 -0
  45. data/lib/cocina/models/mapping/from_mods/access.rb +177 -0
  46. data/lib/cocina/models/mapping/from_mods/admin_metadata.rb +217 -0
  47. data/lib/cocina/models/mapping/from_mods/alt_rep_group.rb +26 -0
  48. data/lib/cocina/models/mapping/from_mods/authority.rb +51 -0
  49. data/lib/cocina/models/mapping/from_mods/contributor.rb +161 -0
  50. data/lib/cocina/models/mapping/from_mods/description.rb +99 -0
  51. data/lib/cocina/models/mapping/from_mods/description_builder.rb +61 -0
  52. data/lib/cocina/models/mapping/from_mods/event.rb +543 -0
  53. data/lib/cocina/models/mapping/from_mods/form.rb +381 -0
  54. data/lib/cocina/models/mapping/from_mods/geographic.rb +219 -0
  55. data/lib/cocina/models/mapping/from_mods/hydrus_default_title_builder.rb +28 -0
  56. data/lib/cocina/models/mapping/from_mods/identifier.rb +51 -0
  57. data/lib/cocina/models/mapping/from_mods/identifier_builder.rb +71 -0
  58. data/lib/cocina/models/mapping/from_mods/identifier_type.rb +292 -0
  59. data/lib/cocina/models/mapping/from_mods/language.rb +36 -0
  60. data/lib/cocina/models/mapping/from_mods/language_script.rb +30 -0
  61. data/lib/cocina/models/mapping/from_mods/language_term.rb +106 -0
  62. data/lib/cocina/models/mapping/from_mods/name_builder.rb +307 -0
  63. data/lib/cocina/models/mapping/from_mods/note.rb +162 -0
  64. data/lib/cocina/models/mapping/from_mods/part_builder.rb +147 -0
  65. data/lib/cocina/models/mapping/from_mods/primary.rb +27 -0
  66. data/lib/cocina/models/mapping/from_mods/purl.rb +53 -0
  67. data/lib/cocina/models/mapping/from_mods/related_resource.rb +105 -0
  68. data/lib/cocina/models/mapping/from_mods/subject.rb +413 -0
  69. data/lib/cocina/models/mapping/from_mods/subject_authority_codes.rb +794 -0
  70. data/lib/cocina/models/mapping/from_mods/title.rb +160 -0
  71. data/lib/cocina/models/mapping/from_mods/title_builder.rb +106 -0
  72. data/lib/cocina/models/mapping/from_mods/title_builder_strategy.rb +19 -0
  73. data/lib/cocina/models/mapping/from_mods/value_uri.rb +25 -0
  74. data/lib/cocina/models/mapping/normalizers/base.rb +16 -0
  75. data/lib/cocina/models/mapping/normalizers/mods/geo_extension_normalizer.rb +69 -0
  76. data/lib/cocina/models/mapping/normalizers/mods/name_normalizer.rb +191 -0
  77. data/lib/cocina/models/mapping/normalizers/mods/origin_info_normalizer.rb +157 -0
  78. data/lib/cocina/models/mapping/normalizers/mods/subject_normalizer.rb +296 -0
  79. data/lib/cocina/models/mapping/normalizers/mods/title_normalizer.rb +91 -0
  80. data/lib/cocina/models/mapping/normalizers/mods_normalizer.rb +409 -0
  81. data/lib/cocina/models/mapping/purl.rb +28 -0
  82. data/lib/cocina/models/mapping/to_mods/access.rb +155 -0
  83. data/lib/cocina/models/mapping/to_mods/admin_metadata.rb +129 -0
  84. data/lib/cocina/models/mapping/to_mods/contributor.rb +49 -0
  85. data/lib/cocina/models/mapping/to_mods/description.rb +63 -0
  86. data/lib/cocina/models/mapping/to_mods/event.rb +200 -0
  87. data/lib/cocina/models/mapping/to_mods/form.rb +292 -0
  88. data/lib/cocina/models/mapping/to_mods/geographic.rb +151 -0
  89. data/lib/cocina/models/mapping/to_mods/id_generator.rb +25 -0
  90. data/lib/cocina/models/mapping/to_mods/identifier.rb +57 -0
  91. data/lib/cocina/models/mapping/to_mods/language.rb +82 -0
  92. data/lib/cocina/models/mapping/to_mods/mods_writer.rb +38 -0
  93. data/lib/cocina/models/mapping/to_mods/name_title_group.rb +29 -0
  94. data/lib/cocina/models/mapping/to_mods/name_writer.rb +228 -0
  95. data/lib/cocina/models/mapping/to_mods/note.rb +105 -0
  96. data/lib/cocina/models/mapping/to_mods/part_writer.rb +115 -0
  97. data/lib/cocina/models/mapping/to_mods/related_resource.rb +108 -0
  98. data/lib/cocina/models/mapping/to_mods/role_writer.rb +50 -0
  99. data/lib/cocina/models/mapping/to_mods/subject.rb +486 -0
  100. data/lib/cocina/models/mapping/to_mods/title.rb +260 -0
  101. data/lib/cocina/models/object_metadata.rb +2 -2
  102. data/lib/cocina/models/presentation.rb +2 -2
  103. data/lib/cocina/models/related_resource.rb +9 -9
  104. data/lib/cocina/models/release_tag.rb +4 -4
  105. data/lib/cocina/models/request_admin_policy.rb +1 -1
  106. data/lib/cocina/models/request_administrative.rb +1 -1
  107. data/lib/cocina/models/request_collection.rb +2 -2
  108. data/lib/cocina/models/request_description.rb +3 -3
  109. data/lib/cocina/models/request_dro.rb +4 -4
  110. data/lib/cocina/models/request_file.rb +5 -5
  111. data/lib/cocina/models/request_identification.rb +1 -1
  112. data/lib/cocina/models/sequence.rb +1 -1
  113. data/lib/cocina/models/source.rb +4 -4
  114. data/lib/cocina/models/standard.rb +5 -5
  115. data/lib/cocina/models/stanford_access.rb +2 -2
  116. data/lib/cocina/models/title.rb +13 -13
  117. data/lib/cocina/models/validators/dark_validator.rb +4 -2
  118. data/lib/cocina/models/validators/open_api_validator.rb +0 -4
  119. data/lib/cocina/models/version.rb +1 -1
  120. data/lib/cocina/models/world_access.rb +2 -2
  121. data/lib/cocina/models.rb +4 -0
  122. data/lib/cocina/rspec/factories.rb +157 -0
  123. data/lib/cocina/rspec.rb +2 -0
  124. data/openapi.yml +4 -4
  125. metadata +88 -3
  126. data/docs/_config.yml +0 -1
@@ -0,0 +1,157 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cocina
4
+ module RSpec
5
+ # Factories for Cocina model objects.
6
+ class Factories
7
+ # Provides the build method.
8
+ module Methods
9
+ def build(type, ...)
10
+ # If we don't support this factory, maybe factory_bot does.
11
+ Factories.supported_type?(type) ? Factories.build(type, ...) : super
12
+ end
13
+ end
14
+
15
+ def self.supported_type?(type)
16
+ %i[dro collection admin_policy dro_with_metadata collection_with_metadata admin_policy_with_metadata].include?(type)
17
+ end
18
+
19
+ WITH_METADATA_SUFFIX = '_with_metadata'
20
+
21
+ def self.build(type, attributes = {})
22
+ raise "Unsupported factory type #{type}" unless supported_type?(type)
23
+
24
+ build_type = type.to_s.delete_suffix(WITH_METADATA_SUFFIX)
25
+
26
+ fixture = public_send("build_#{build_type}".to_sym, attributes)
27
+ return fixture unless type.end_with?(WITH_METADATA_SUFFIX)
28
+
29
+ Cocina::Models.with_metadata(fixture, 'abc123')
30
+ end
31
+
32
+ DRO_DEFAULTS = {
33
+ type: Cocina::Models::ObjectType.object,
34
+ id: 'druid:bc234fg5678',
35
+ version: 1,
36
+ label: 'test object',
37
+ title: 'test object',
38
+ source_id: 'sul:1234',
39
+ admin_policy_id: 'druid:hv992ry2431'
40
+ }.freeze
41
+
42
+ COLLECTION_DEFAULTS = DRO_DEFAULTS.except(:source_id).merge(type: Cocina::Models::ObjectType.collection)
43
+
44
+ ADMIN_POLICY_DEFAULTS = {
45
+ type: Cocina::Models::ObjectType.admin_policy,
46
+ id: 'druid:bc234fg5678',
47
+ version: 1,
48
+ label: 'test admin policy',
49
+ title: 'test admin policy',
50
+ admin_policy_id: 'druid:hv992ry2431',
51
+ agreement_id: 'druid:hp308wm0436'
52
+ }.freeze
53
+
54
+ # rubocop:disable Metrics/ParameterLists
55
+ def self.build_dro_properties(type:, id:, version:, label:, title:, source_id:, admin_policy_id:,
56
+ barcode: nil, catkeys: [], collection_ids: [])
57
+ {
58
+ type: type,
59
+ externalIdentifier: id,
60
+ version: version,
61
+ label: label,
62
+ access: {},
63
+ administrative: { hasAdminPolicy: admin_policy_id },
64
+ description: {
65
+ title: [{ value: title }],
66
+ purl: "https://purl.stanford.edu/#{id.delete_prefix('druid:')}"
67
+ },
68
+ identification: {
69
+ sourceId: source_id
70
+ },
71
+ structural: {
72
+ isMemberOf: collection_ids
73
+ }
74
+ }.tap do |props|
75
+ if catkeys.present?
76
+ props[:identification][:catalogLinks] = catkeys.map.with_index do |catkey, index|
77
+ { catalog: 'symphony', catalogRecordId: catkey, refresh: index.zero? }
78
+ end
79
+ end
80
+ props[:identification][:barcode] = barcode if barcode
81
+ end
82
+ end
83
+ # rubocop:enable Metrics/ParameterLists
84
+
85
+ def self.build_dro(attributes)
86
+ Cocina::Models.build(build_dro_properties(**DRO_DEFAULTS.merge(attributes)))
87
+ end
88
+
89
+ # rubocop:disable Metrics/ParameterLists
90
+ def self.build_collection_properties(type:, id:, version:, label:, title:, admin_policy_id:, source_id: nil, catkeys: [])
91
+ {
92
+ type: type,
93
+ externalIdentifier: id,
94
+ version: version,
95
+ label: label,
96
+ access: {},
97
+ administrative: { hasAdminPolicy: admin_policy_id },
98
+ description: {
99
+ title: [{ value: title }],
100
+ purl: "https://purl.stanford.edu/#{id.delete_prefix('druid:')}"
101
+ },
102
+ identification: {}
103
+ }.tap do |props|
104
+ if catkeys.present?
105
+ props[:identification][:catalogLinks] = catkeys.map.with_index do |catkey, index|
106
+ { catalog: 'symphony', catalogRecordId: catkey, refresh: index.zero? }
107
+ end
108
+ end
109
+ props[:identification][:sourceId] = source_id if source_id
110
+ end
111
+ end
112
+ # rubocop:enable Metrics/ParameterLists
113
+
114
+ def self.build_collection(attributes)
115
+ Cocina::Models.build(build_collection_properties(**COLLECTION_DEFAULTS.merge(attributes)))
116
+ end
117
+
118
+ def self.build_admin_policy(attributes)
119
+ Cocina::Models.build(build_admin_policy_properties(**ADMIN_POLICY_DEFAULTS.merge(attributes)))
120
+ end
121
+
122
+ # rubocop:disable Metrics/ParameterLists
123
+ def self.build_admin_policy_properties(type:, id:, version:, label:, title:,
124
+ admin_policy_id:, agreement_id:,
125
+ use_statement: nil, copyright: nil, license: nil,
126
+ registration_workflow: nil, collections_for_registration: nil,
127
+ without_description: false)
128
+ {
129
+ type: type,
130
+ externalIdentifier: id,
131
+ version: version,
132
+ label: label,
133
+ administrative: {
134
+ hasAdminPolicy: admin_policy_id,
135
+ hasAgreement: agreement_id,
136
+ accessTemplate: {
137
+ view: 'world',
138
+ download: 'world'
139
+ }
140
+ },
141
+ description: {
142
+ title: [{ value: title }],
143
+ purl: "https://purl.stanford.edu/#{id.delete_prefix('druid:')}"
144
+ }
145
+ }.tap do |props|
146
+ props[:administrative][:accessTemplate][:useAndReproductionStatement] = use_statement if use_statement
147
+ props[:administrative][:accessTemplate][:copyright] = copyright if copyright
148
+ props[:administrative][:accessTemplate][:license] = license if license
149
+ props[:administrative][:registrationWorkflow] = registration_workflow if registration_workflow
150
+ props[:administrative][:collectionsForRegistration] = collections_for_registration if collections_for_registration
151
+ props.delete(:description) if without_description
152
+ end
153
+ end
154
+ # rubocop:enable Metrics/ParameterLists
155
+ end
156
+ end
157
+ end
data/lib/cocina/rspec.rb CHANGED
@@ -4,7 +4,9 @@ require 'rspec/core'
4
4
  require 'rspec/matchers'
5
5
  require 'super_diff/rspec'
6
6
  require 'cocina/rspec/matchers'
7
+ require 'cocina/rspec/factories'
7
8
 
8
9
  RSpec.configure do |config|
9
10
  config.include Cocina::RSpec::Matchers
11
+ config.include Cocina::RSpec::Factories::Methods
10
12
  end
data/openapi.yml CHANGED
@@ -383,6 +383,7 @@ components:
383
383
  catalogRecordId:
384
384
  description: Record identifier that is unique within the context of the linked record's catalog.
385
385
  type: string
386
+ pattern: '^\d+(:\d+)*$'
386
387
  example: '11403803'
387
388
  required:
388
389
  - catalog
@@ -523,7 +524,7 @@ components:
523
524
  items:
524
525
  $ref: "#/components/schemas/DescriptiveValue"
525
526
  type:
526
- description: Entity type of the contributor (person, organization, etc.). See https://sul-dlss.github.io/cocina-models/description_types.html for valid types.
527
+ description: Entity type of the contributor (person, organization, etc.). See https://github.com/sul-dlss/cocina-models/blob/main/docs/description_types.md for valid types.
527
528
  type: string
528
529
  status:
529
530
  description: Status of the contributor relative to other parallel contributors
@@ -579,7 +580,6 @@ components:
579
580
  required:
580
581
  - view
581
582
  - download
582
- - controlledDigitalLending
583
583
  DarkAccess:
584
584
  type: object
585
585
  properties:
@@ -712,7 +712,7 @@ components:
712
712
  # https://github.com/interagent/committee/issues/286
713
713
  # - type: integer
714
714
  type:
715
- description: Type of value provided by the descriptive element. See https://sul-dlss.github.io/cocina-models/description_types.html for valid types.
715
+ description: Type of value provided by the descriptive element. See https://github.com/sul-dlss/cocina-models/blob/main/docs/description_types.md for valid types.
716
716
  type: string
717
717
  status:
718
718
  description: Status of the descriptive element value relative to other instances
@@ -788,7 +788,7 @@ components:
788
788
  items:
789
789
  $ref: "#/components/schemas/DescriptiveValue"
790
790
  type:
791
- description: Entity type of the contributor (person, organization, etc.). See https://sul-dlss.github.io/cocina-models/description_types.html for valid types.
791
+ description: Entity type of the contributor (person, organization, etc.). See https://github.com/sul-dlss/cocina-models/blob/main/docs/description_types.md for valid types.
792
792
  type: string
793
793
  status:
794
794
  description: Status of the contributor relative to other parallel contributors (e.g. the primary author among a group of contributors).
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocina-models
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.75.0
4
+ version: 0.76.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-18 00:00:00.000000000 Z
11
+ date: 2022-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: equivalent-xml
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: nokogiri
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: openapi3_parser
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -275,7 +303,6 @@ files:
275
303
  - bin/setup
276
304
  - cocina-models.gemspec
277
305
  - description_types.yml
278
- - docs/_config.yml
279
306
  - docs/cocina-base.jsonld
280
307
  - docs/description_types.md
281
308
  - docs/index.html
@@ -363,6 +390,63 @@ files:
363
390
  - lib/cocina/models/license.rb
364
391
  - lib/cocina/models/location_based_access.rb
365
392
  - lib/cocina/models/location_based_download_access.rb
393
+ - lib/cocina/models/mapping/error_notifier.rb
394
+ - lib/cocina/models/mapping/from_mods/access.rb
395
+ - lib/cocina/models/mapping/from_mods/admin_metadata.rb
396
+ - lib/cocina/models/mapping/from_mods/alt_rep_group.rb
397
+ - lib/cocina/models/mapping/from_mods/authority.rb
398
+ - lib/cocina/models/mapping/from_mods/contributor.rb
399
+ - lib/cocina/models/mapping/from_mods/description.rb
400
+ - lib/cocina/models/mapping/from_mods/description_builder.rb
401
+ - lib/cocina/models/mapping/from_mods/event.rb
402
+ - lib/cocina/models/mapping/from_mods/form.rb
403
+ - lib/cocina/models/mapping/from_mods/geographic.rb
404
+ - lib/cocina/models/mapping/from_mods/hydrus_default_title_builder.rb
405
+ - lib/cocina/models/mapping/from_mods/identifier.rb
406
+ - lib/cocina/models/mapping/from_mods/identifier_builder.rb
407
+ - lib/cocina/models/mapping/from_mods/identifier_type.rb
408
+ - lib/cocina/models/mapping/from_mods/language.rb
409
+ - lib/cocina/models/mapping/from_mods/language_script.rb
410
+ - lib/cocina/models/mapping/from_mods/language_term.rb
411
+ - lib/cocina/models/mapping/from_mods/name_builder.rb
412
+ - lib/cocina/models/mapping/from_mods/note.rb
413
+ - lib/cocina/models/mapping/from_mods/part_builder.rb
414
+ - lib/cocina/models/mapping/from_mods/primary.rb
415
+ - lib/cocina/models/mapping/from_mods/purl.rb
416
+ - lib/cocina/models/mapping/from_mods/related_resource.rb
417
+ - lib/cocina/models/mapping/from_mods/subject.rb
418
+ - lib/cocina/models/mapping/from_mods/subject_authority_codes.rb
419
+ - lib/cocina/models/mapping/from_mods/title.rb
420
+ - lib/cocina/models/mapping/from_mods/title_builder.rb
421
+ - lib/cocina/models/mapping/from_mods/title_builder_strategy.rb
422
+ - lib/cocina/models/mapping/from_mods/value_uri.rb
423
+ - lib/cocina/models/mapping/normalizers/base.rb
424
+ - lib/cocina/models/mapping/normalizers/mods/geo_extension_normalizer.rb
425
+ - lib/cocina/models/mapping/normalizers/mods/name_normalizer.rb
426
+ - lib/cocina/models/mapping/normalizers/mods/origin_info_normalizer.rb
427
+ - lib/cocina/models/mapping/normalizers/mods/subject_normalizer.rb
428
+ - lib/cocina/models/mapping/normalizers/mods/title_normalizer.rb
429
+ - lib/cocina/models/mapping/normalizers/mods_normalizer.rb
430
+ - lib/cocina/models/mapping/purl.rb
431
+ - lib/cocina/models/mapping/to_mods/access.rb
432
+ - lib/cocina/models/mapping/to_mods/admin_metadata.rb
433
+ - lib/cocina/models/mapping/to_mods/contributor.rb
434
+ - lib/cocina/models/mapping/to_mods/description.rb
435
+ - lib/cocina/models/mapping/to_mods/event.rb
436
+ - lib/cocina/models/mapping/to_mods/form.rb
437
+ - lib/cocina/models/mapping/to_mods/geographic.rb
438
+ - lib/cocina/models/mapping/to_mods/id_generator.rb
439
+ - lib/cocina/models/mapping/to_mods/identifier.rb
440
+ - lib/cocina/models/mapping/to_mods/language.rb
441
+ - lib/cocina/models/mapping/to_mods/mods_writer.rb
442
+ - lib/cocina/models/mapping/to_mods/name_title_group.rb
443
+ - lib/cocina/models/mapping/to_mods/name_writer.rb
444
+ - lib/cocina/models/mapping/to_mods/note.rb
445
+ - lib/cocina/models/mapping/to_mods/part_writer.rb
446
+ - lib/cocina/models/mapping/to_mods/related_resource.rb
447
+ - lib/cocina/models/mapping/to_mods/role_writer.rb
448
+ - lib/cocina/models/mapping/to_mods/subject.rb
449
+ - lib/cocina/models/mapping/to_mods/title.rb
366
450
  - lib/cocina/models/message_digest.rb
367
451
  - lib/cocina/models/object_metadata.rb
368
452
  - lib/cocina/models/object_type.rb
@@ -399,6 +483,7 @@ files:
399
483
  - lib/cocina/models/vocabulary.rb
400
484
  - lib/cocina/models/world_access.rb
401
485
  - lib/cocina/rspec.rb
486
+ - lib/cocina/rspec/factories.rb
402
487
  - lib/cocina/rspec/matchers.rb
403
488
  - openapi.yml
404
489
  homepage: https://github.com/sul-dlss/cocina-models
data/docs/_config.yml DELETED
@@ -1 +0,0 @@
1
- theme: jekyll-theme-tactile