cocina-models 0.43.0 → 0.47.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6a7fb04bce15550d80d32758dea67de26bbf3e0e7f0476249d24404deaab6c5b
4
- data.tar.gz: b719c0868f50c0c374d9a2ccec6c6bd7b83099c6cde53b8950f821cfc83eb464
3
+ metadata.gz: cf1ffbb85b37f0bee58a8c5129d3386b123eab2e3ae8d9d128b8841be3e6f5c5
4
+ data.tar.gz: 6521ed40213146dad2898c4af1715ed665354b2c541ef8b4b02b719374877691
5
5
  SHA512:
6
- metadata.gz: be9ec459083968e1321fd24d65420afa5e5c83ce7c445b8752e8873a3e42ed45d351768f9697984b6ba9d9046de1cb103b8489843916659c0297e001daa8bef5
7
- data.tar.gz: 5769465759f52137fb7f0fff10752b099fe5c4dd514895341c720bc6fd6fcdb43cbb4a2e897ae2b822565b916306686c64079116968a5890543f578aad79ff2b
6
+ metadata.gz: 8587d56d30006c5f1d13d877c34d69be20c9c72625bcaf0ec9b5afae2b952310dfed927512e9952d5f7a68546441e4640ac749162b31c9d0177555502fe584c4
7
+ data.tar.gz: 48d00fc55deb5cfa030219e7eda2ee5cccabd9602af31eeafec2ae05e25eb1c7786e8c05609bb55da51d9db86ddb5d08d3f287ffc327c2534fd767e1feb8e447
@@ -1,3 +1,5 @@
1
+ **NOTE: Changes to openapi.yml require updating openapi.yml for sdr-api and dor-services-app and generating models - see README.**
2
+
1
3
  ## Why was this change made?
2
4
 
3
5
 
@@ -7,6 +9,3 @@
7
9
 
8
10
 
9
11
  ## Which documentation and/or configurations were updated?
10
-
11
-
12
-
data/.rubocop.yml CHANGED
@@ -7,170 +7,148 @@ require:
7
7
  AllCops:
8
8
  TargetRubyVersion: 2.5
9
9
 
10
+ # ----- Layout ------
11
+
10
12
  Layout/LineLength:
11
13
  Max: 114
12
14
  Exclude:
13
15
  - lib/cocina/models/*
14
16
 
15
- Metrics/BlockLength:
16
- Exclude:
17
- - cocina-models.gemspec
18
- - spec/cocina/**/*
19
-
20
- Metrics/MethodLength:
21
- Max: 14
22
-
23
- RSpec/MultipleExpectations:
24
- Enabled: false
25
-
26
- RSpec/ExampleLength:
27
- Max: 18
28
- Exclude:
29
- - spec/cocina/models/description_spec.rb
30
- - spec/cocina/models/dro_shared_examples.rb
31
-
32
- Style/Documentation:
33
- Exclude:
34
- - lib/cocina/models/*
35
-
17
+ Layout/BeginEndAlignment: # (new in 0.91)
18
+ Enabled: true
36
19
  Layout/EmptyLinesAroundAttributeAccessor:
37
20
  Enabled: true
38
-
39
21
  Layout/SpaceAroundMethodCallOperator:
40
22
  Enabled: true
41
23
 
42
- Lint/DeprecatedOpenSSLConstant:
43
- Enabled: true
24
+ # ----- Lint ------
44
25
 
45
- Lint/MixedRegexpCaptureTypes:
26
+ Lint/BinaryOperatorWithIdenticalOperands:
46
27
  Enabled: true
47
-
48
- Lint/RaiseException:
28
+ Lint/ConstantDefinitionInBlock: # (new in 0.91)
49
29
  Enabled: true
50
-
51
- Lint/StructNewOverride:
30
+ Lint/DeprecatedOpenSSLConstant:
52
31
  Enabled: true
53
-
54
- Style/AccessorGrouping:
32
+ Lint/DuplicateElsifCondition:
55
33
  Enabled: true
56
-
57
- Style/BisectedAttrAccessor:
34
+ Lint/DuplicateRequire: # (new in 0.90)
58
35
  Enabled: true
59
-
60
- Style/ExponentialNotation:
36
+ Lint/DuplicateRescueException:
61
37
  Enabled: true
62
-
63
- Style/HashEachMethods:
38
+ Lint/EmptyConditionalBody:
64
39
  Enabled: true
65
-
66
- Style/HashTransformKeys:
40
+ Lint/EmptyFile: # (new in 0.90)
67
41
  Enabled: true
68
-
69
- Style/HashTransformValues:
42
+ Lint/FloatComparison:
70
43
  Enabled: true
71
-
72
- Style/RedundantAssignment:
44
+ Lint/HashCompareByIdentity: # (new in 0.93)
73
45
  Enabled: true
74
-
75
- Style/RedundantFetchBlock:
46
+ Lint/IdentityComparison: # (new in 0.91)
76
47
  Enabled: true
77
-
78
- Style/RedundantRegexpCharacterClass:
48
+ Lint/MissingSuper:
79
49
  Enabled: true
80
-
81
- Style/RedundantRegexpEscape:
50
+ Lint/MixedRegexpCaptureTypes:
82
51
  Enabled: true
83
-
84
- Style/SlicingWithRange:
52
+ Lint/OutOfRangeRegexpRef:
85
53
  Enabled: true
86
-
87
- Lint/BinaryOperatorWithIdenticalOperands:
54
+ Lint/RaiseException:
88
55
  Enabled: true
89
-
90
- Lint/DuplicateElsifCondition:
56
+ Lint/RedundantSafeNavigation: # (new in 0.93)
91
57
  Enabled: true
92
-
93
- Lint/DuplicateRescueException:
58
+ Lint/SelfAssignment:
94
59
  Enabled: true
95
-
96
- Lint/EmptyConditionalBody:
60
+ Lint/StructNewOverride:
97
61
  Enabled: true
98
-
99
- Lint/FloatComparison:
62
+ Lint/TopLevelReturnWithArgument:
100
63
  Enabled: true
101
-
102
- Lint/MissingSuper:
64
+ Lint/TrailingCommaInAttributeDeclaration: # (new in 0.90)
103
65
  Enabled: true
104
-
105
- Lint/OutOfRangeRegexpRef:
66
+ Lint/UnreachableLoop:
106
67
  Enabled: true
107
-
108
- Lint/SelfAssignment:
68
+ Lint/UselessMethodDefinition: # (new in 0.90)
109
69
  Enabled: true
110
-
111
- Lint/TopLevelReturnWithArgument:
70
+ Lint/UselessTimes: # (new in 0.91)
112
71
  Enabled: true
113
72
 
114
- Lint/UnreachableLoop:
115
- Enabled: true
73
+ # ----- Metrics ------
116
74
 
117
- Style/ArrayCoercion:
118
- Enabled: true
75
+ Metrics/BlockLength:
76
+ Exclude:
77
+ - cocina-models.gemspec
78
+ - spec/cocina/**/*
119
79
 
120
- Style/CaseLikeIf:
121
- Enabled: true
80
+ Metrics/MethodLength:
81
+ Max: 14
122
82
 
123
- Style/ExplicitBlockArgument:
124
- Enabled: true
83
+ # ----- RSpec ------
125
84
 
126
- Style/GlobalStdStream:
127
- Enabled: true
85
+ RSpec/ExampleLength:
86
+ Max: 18
87
+ Exclude:
88
+ - spec/cocina/models/description_spec.rb
89
+ - spec/cocina/models/dro_shared_examples.rb
128
90
 
129
- Style/HashAsLastArrayItem:
130
- Enabled: true
91
+ RSpec/MultipleExpectations:
92
+ Enabled: false
131
93
 
132
- Style/HashLikeCase:
94
+ RSpec/StubbedMock: # (new in 1.44)
133
95
  Enabled: true
134
96
 
135
- Style/OptionalBooleanParameter:
136
- Enabled: false
97
+ # ----- Style ------
137
98
 
138
- Style/RedundantFileExtensionInRequire:
139
- Enabled: true
99
+ Style/Documentation:
100
+ Exclude:
101
+ - lib/cocina/models/*
140
102
 
141
- Style/SingleArgumentDig:
103
+ Style/AccessorGrouping:
142
104
  Enabled: true
143
-
144
- Style/StringConcatenation:
105
+ Style/ArrayCoercion:
145
106
  Enabled: true
146
-
147
- Layout/BeginEndAlignment: # (new in 0.91)
107
+ Style/BisectedAttrAccessor:
148
108
  Enabled: true
149
- Lint/ConstantDefinitionInBlock: # (new in 0.91)
109
+ Style/CaseLikeIf:
150
110
  Enabled: true
151
- Lint/DuplicateRequire: # (new in 0.90)
111
+ Style/ClassEqualityComparison: # (new in 0.93)
152
112
  Enabled: true
153
- Lint/EmptyFile: # (new in 0.90)
113
+ Style/CombinableLoops: # (new in 0.90)
154
114
  Enabled: true
155
- Lint/HashCompareByIdentity: # (new in 0.93)
115
+ Style/ExplicitBlockArgument:
156
116
  Enabled: true
157
- Lint/IdentityComparison: # (new in 0.91)
117
+ Style/ExponentialNotation:
158
118
  Enabled: true
159
- Lint/RedundantSafeNavigation: # (new in 0.93)
119
+ Style/GlobalStdStream:
160
120
  Enabled: true
161
- Lint/TrailingCommaInAttributeDeclaration: # (new in 0.90)
121
+ Style/HashAsLastArrayItem:
162
122
  Enabled: true
163
- Lint/UselessMethodDefinition: # (new in 0.90)
123
+ Style/HashEachMethods:
164
124
  Enabled: true
165
- Lint/UselessTimes: # (new in 0.91)
125
+ Style/HashLikeCase:
166
126
  Enabled: true
167
- Style/ClassEqualityComparison: # (new in 0.93)
127
+ Style/HashTransformKeys:
168
128
  Enabled: true
169
- Style/CombinableLoops: # (new in 0.90)
129
+ Style/HashTransformValues:
170
130
  Enabled: true
171
131
  Style/KeywordParametersOrder: # (new in 0.90)
172
132
  Enabled: true
133
+ Style/OptionalBooleanParameter:
134
+ Enabled: false
135
+ Style/RedundantAssignment:
136
+ Enabled: true
137
+ Style/RedundantFetchBlock:
138
+ Enabled: true
139
+ Style/RedundantFileExtensionInRequire:
140
+ Enabled: true
141
+ Style/RedundantRegexpCharacterClass:
142
+ Enabled: true
143
+ Style/RedundantRegexpEscape:
144
+ Enabled: true
173
145
  Style/RedundantSelfAssignment: # (new in 0.90)
174
146
  Enabled: true
147
+ Style/SingleArgumentDig:
148
+ Enabled: true
149
+ Style/SlicingWithRange:
150
+ Enabled: true
175
151
  Style/SoleNestedConditional: # (new in 0.89)
176
152
  Enabled: true
153
+ Style/StringConcatenation:
154
+ Enabled: true
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  [![Test Coverage](https://api.codeclimate.com/v1/badges/472273351516ac01dce1/test_coverage)](https://codeclimate.com/github/sul-dlss/cocina-models/test_coverage)
3
3
  [![Maintainability](https://api.codeclimate.com/v1/badges/472273351516ac01dce1/maintainability)](https://codeclimate.com/github/sul-dlss/cocina-models/maintainability)
4
4
  [![Gem Version](https://badge.fury.io/rb/cocina-models.svg)](https://badge.fury.io/rb/cocina-models)
5
- [![OpenAPI Validator](http://validator.swagger.io/validator?url=https://raw.githubusercontent.com/sul-dlss/cocina-models/master/openapi.yml)](http://validator.swagger.io/validator/debug?url=https://raw.githubusercontent.com/sul-dlss/cocina-models/master/openapi.yml)
5
+ [![OpenAPI Validator](http://validator.swagger.io/validator?url=https://raw.githubusercontent.com/sul-dlss/cocina-models/main/openapi.yml)](http://validator.swagger.io/validator/debug?url=https://raw.githubusercontent.com/sul-dlss/cocina-models/main/openapi.yml)
6
6
 
7
7
  # Cocina::Models
8
8
 
@@ -42,6 +42,10 @@ which pushes the gem to rubygems.org. Next write up the release notes: https://
42
42
 
43
43
  Finally, you must release versions of [sdr-client](https://github.com/sul-dlss/sdr-client) and [dor-services-client](https://github.com/sul-dlss/dor-services-client/) pinned to this version because [Argo](https://github.com/sul-dlss/argo) depends on both of those. When [dor-services-app](https://github.com/sul-dlss/dor-services-app) is updated to use the new models (via the auto-update script), the clients must be updated at the same time or there is risk of models produced by dor-services-app not being acceptable to the clients.
44
44
 
45
+ ### Communicate
46
+
47
+ Send a note to `#dlss-infra-chg-mgmt` on Slack to let people know what is changing and when.
48
+
45
49
  ### Dependent Services
46
50
 
47
51
  Once the above listed gems are updated all the following services that use cocina-models should be updated and released at the same time:
@@ -55,6 +59,7 @@ Once the above listed gems are updated all the following services that use cocin
55
59
  * sul-dlss/hydrus
56
60
  * sul-dlss/happy-heron
57
61
  * sul-dlss/infrastructure-integration-test
62
+ * sul-dlss/dor_indexing_app
58
63
 
59
64
  ## Using this gem
60
65
 
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.bindir = 'exe'
23
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
24
  spec.require_paths = ['lib']
25
- spec.required_ruby_version = '~> 2.5'
25
+ spec.required_ruby_version = '>= 2.5'
26
26
 
27
27
  spec.add_dependency 'activesupport'
28
28
  spec.add_dependency 'dry-struct', '~> 1.0'
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency 'committee'
37
37
  spec.add_development_dependency 'rake', '~> 13.0'
38
38
  spec.add_development_dependency 'rspec', '~> 3.0'
39
- spec.add_development_dependency 'rubocop', '~> 0.87'
40
- spec.add_development_dependency 'rubocop-rspec'
39
+ spec.add_development_dependency 'rubocop', '~> 0.93'
40
+ spec.add_development_dependency 'rubocop-rspec', '~> 1.44'
41
41
  spec.add_development_dependency 'simplecov', '~> 0.17.0'
42
42
  end
data/docs/index.html CHANGED
@@ -14,7 +14,7 @@
14
14
  </style>
15
15
  </head>
16
16
  <body>
17
- <redoc spec-url='https://raw.githubusercontent.com/sul-dlss/cocina-models/master/openapi.yml'></redoc>
17
+ <redoc spec-url='https://raw.githubusercontent.com/sul-dlss/cocina-models/main/openapi.yml'></redoc>
18
18
  <script src="https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js"> </script>
19
19
  </body>
20
20
  </html>
@@ -11,8 +11,8 @@ module Cocina
11
11
  attribute :role, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
12
12
  attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
13
13
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
14
- # Place of contributor in order of authorship for resource.
15
- attribute :order, Types::Strict::Integer.meta(omittable: true)
14
+ # URL or other pointer to the location of the contributor information.
15
+ attribute :valueAt, Types::Strict::String.meta(omittable: true)
16
16
  end
17
17
  end
18
18
  end
@@ -18,6 +18,8 @@ module Cocina
18
18
  attribute :relatedResource, Types::Strict::Array.of(RelatedResource).meta(omittable: true)
19
19
  attribute :marcEncodedData, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
20
20
  attribute :adminMetadata, DescriptiveAdminMetadata.optional.meta(omittable: true)
21
+ # URL or other pointer to the location of the resource description.
22
+ attribute :valueAt, Types::Strict::String.meta(omittable: true)
21
23
 
22
24
  def self.new(attributes = default_attributes, safe = false, validate = true, &block)
23
25
  Validator.validate(self, attributes.with_indifferent_access) if validate && name
@@ -5,6 +5,7 @@ module Cocina
5
5
  class DescriptiveAccessMetadata < Struct
6
6
  attribute :url, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
7
  attribute :physicalLocation, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
8
+ attribute :digitalLocation, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
8
9
  attribute :accessContact, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
9
10
  attribute :digitalRepository, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
10
11
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
@@ -7,7 +7,7 @@ module Cocina
7
7
  attribute :event, Types::Strict::Array.of(Event).meta(omittable: true)
8
8
  attribute :language, Types::Strict::Array.of(Language).meta(omittable: true)
9
9
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
10
- attribute :standard, Standard.optional.meta(omittable: true)
10
+ attribute :metadataStandard, Types::Strict::Array.of(Standard).meta(omittable: true)
11
11
  attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
12
12
  end
13
13
  end
@@ -5,6 +5,7 @@ module Cocina
5
5
  class DescriptiveBasicValue < Struct
6
6
  attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
7
  attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
8
+ attribute :groupedValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
8
9
  # String or integer value of the descriptive element.
9
10
  attribute :value, Types::Nominal::Any.meta(omittable: true)
10
11
  # Type of value provided by the descriptive element.
@@ -25,6 +26,8 @@ module Cocina
25
26
  attribute :qualifier, Types::Strict::String.meta(omittable: true)
26
27
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
27
28
  attribute :valueLanguage, DescriptiveValueLanguage.optional.meta(omittable: true)
29
+ # URL or other pointer to the location of the value of the descriptive element.
30
+ attribute :valueAt, Types::Strict::String.meta(omittable: true)
28
31
  end
29
32
  end
30
33
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cocina
4
+ module Models
5
+ class DescriptiveGroupedValue < Struct
6
+ attribute :groupedValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
+ end
8
+ end
9
+ end
@@ -5,6 +5,7 @@ module Cocina
5
5
  class DescriptiveValue < Struct
6
6
  attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
7
  attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
8
+ attribute :groupedValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
8
9
  # String or integer value of the descriptive element.
9
10
  attribute :value, Types::Nominal::Any.meta(omittable: true)
10
11
  # Type of value provided by the descriptive element.
@@ -25,6 +26,8 @@ module Cocina
25
26
  attribute :qualifier, Types::Strict::String.meta(omittable: true)
26
27
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
27
28
  attribute :valueLanguage, DescriptiveValueLanguage.optional.meta(omittable: true)
29
+ # URL or other pointer to the location of the value of the descriptive element.
30
+ attribute :valueAt, Types::Strict::String.meta(omittable: true)
28
31
  attribute :appliesTo, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
29
32
  end
30
33
  end
@@ -9,6 +9,7 @@ module Cocina
9
9
  # The preferred display label to use for the descriptive element in access systems.
10
10
  attribute :displayLabel, Types::Strict::String.meta(omittable: true)
11
11
  attribute :encoding, Standard.optional.meta(omittable: true)
12
+ attribute :groupedValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
12
13
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
13
14
  attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
14
15
  # present for mapping to additional schemas in the future and for consistency but not otherwise used
@@ -23,6 +24,8 @@ module Cocina
23
24
  attribute :uri, Types::Strict::String.meta(omittable: true)
24
25
  # Value of the descriptive element.
25
26
  attribute :value, Types::Strict::String.meta(omittable: true)
27
+ # URL or other pointer to the location of the language information.
28
+ attribute :valueAt, Types::Strict::String.meta(omittable: true)
26
29
  attribute :valueLanguage, DescriptiveValueLanguage.optional.meta(omittable: true)
27
30
  end
28
31
  end
@@ -25,8 +25,8 @@ module Cocina
25
25
  attribute :adminMetadata, DescriptiveAdminMetadata.optional.meta(omittable: true)
26
26
  # The version of the related resource.
27
27
  attribute :version, Types::Strict::String.meta(omittable: true)
28
- # The order of the related resource in a series of related resources.
29
- attribute :order, Types::Strict::Integer.meta(omittable: true)
28
+ # URL or other pointer to the location of the related resource information.
29
+ attribute :valueAt, Types::Strict::String.meta(omittable: true)
30
30
  end
31
31
  end
32
32
  end
@@ -5,6 +5,7 @@ module Cocina
5
5
  class Title < Struct
6
6
  attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
7
7
  attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
8
+ attribute :groupedValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
8
9
  # String or integer value of the descriptive element.
9
10
  attribute :value, Types::Nominal::Any.meta(omittable: true)
10
11
  # Type of value provided by the descriptive element.
@@ -25,6 +26,8 @@ module Cocina
25
26
  attribute :qualifier, Types::Strict::String.meta(omittable: true)
26
27
  attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
27
28
  attribute :valueLanguage, DescriptiveValueLanguage.optional.meta(omittable: true)
29
+ # URL or other pointer to the location of the value of the descriptive element.
30
+ attribute :valueAt, Types::Strict::String.meta(omittable: true)
28
31
  attribute :appliesTo, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
29
32
  end
30
33
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Cocina
4
4
  module Models
5
- VERSION = '0.43.0'
5
+ VERSION = '0.47.1'
6
6
  end
7
7
  end
data/openapi.yml CHANGED
@@ -277,9 +277,9 @@ components:
277
277
  type: array
278
278
  items:
279
279
  $ref: "#/components/schemas/DescriptiveValue"
280
- order:
281
- description: Place of contributor in order of authorship for resource.
282
- type: integer
280
+ valueAt:
281
+ description: URL or other pointer to the location of the contributor information.
282
+ type: string
283
283
  Description:
284
284
  type: object
285
285
  additionalProperties: false
@@ -351,6 +351,9 @@ components:
351
351
  $ref: "#/components/schemas/DescriptiveValue"
352
352
  adminMetadata:
353
353
  $ref: "#/components/schemas/DescriptiveAdminMetadata"
354
+ valueAt:
355
+ description: URL or other pointer to the location of the resource description.
356
+ type: string
354
357
  required:
355
358
  - title
356
359
  DescriptiveAccessMetadata:
@@ -368,6 +371,11 @@ components:
368
371
  type: array
369
372
  items:
370
373
  $ref: "#/components/schemas/DescriptiveValue"
374
+ digitalLocation:
375
+ description: Location of a digital version of the resource, such as a file path for a born digital resource.
376
+ type: array
377
+ items:
378
+ $ref: "#/components/schemas/DescriptiveValue"
371
379
  accessContact:
372
380
  description: The library, organization, or person responsible for access to the resource.
373
381
  type: array
@@ -409,9 +417,11 @@ components:
409
417
  type: array
410
418
  items:
411
419
  $ref: "#/components/schemas/DescriptiveValue"
412
- standard:
413
- # description: Descriptive or content standard to which this resource description conforms.
414
- $ref: "#/components/schemas/Standard"
420
+ metadataStandard:
421
+ description: Descriptive or content standard(s) to which this resource description conforms.
422
+ type: array
423
+ items:
424
+ $ref: "#/components/schemas/Standard"
415
425
  identifier:
416
426
  description: Identifiers associated with this resource description.
417
427
  type: array
@@ -420,11 +430,12 @@ components:
420
430
  DescriptiveBasicValue:
421
431
  description: Basic value model for descriptive elements.
422
432
  type: object
423
- # additionalProperties breaks the validator, unclear as to why.
433
+ # additionalProperties breaks the validator for allOf, unclear as to why.
424
434
  # additionalProperties: false
425
435
  allOf:
426
436
  - $ref: "#/components/schemas/DescriptiveStructuredValue"
427
437
  - $ref: "#/components/schemas/DescriptiveParallelValue"
438
+ - $ref: "#/components/schemas/DescriptiveGroupedValue"
428
439
  - type: object
429
440
  additionalProperties: false
430
441
  properties:
@@ -476,6 +487,9 @@ components:
476
487
  $ref: "#/components/schemas/DescriptiveValue"
477
488
  valueLanguage:
478
489
  $ref: "#/components/schemas/DescriptiveValueLanguage"
490
+ valueAt:
491
+ description: URL or other pointer to the location of the value of the descriptive element.
492
+ type: string
479
493
  DescriptiveGeographicMetadata:
480
494
  description: Value model for mods geographic extension metadata
481
495
  type: object
@@ -490,6 +504,15 @@ components:
490
504
  type: array
491
505
  items:
492
506
  $ref: "#/components/schemas/DescriptiveValue"
507
+ DescriptiveGroupedValue:
508
+ description: Value model for a set of descriptive elements grouped together in an unstructured way.
509
+ type: object
510
+ additionalProperties: false
511
+ properties:
512
+ groupedValue:
513
+ type: array
514
+ items:
515
+ $ref: "#/components/schemas/DescriptiveValue"
493
516
  DescriptiveParallelValue:
494
517
  description: Value model for multiple representations of the same information (e.g. in different languages).
495
518
  type: object
@@ -511,7 +534,8 @@ components:
511
534
  DescriptiveValue:
512
535
  description: Default value model for descriptive elements.
513
536
  type: object
514
- additionalProperties: false
537
+ # additionalProperties breaks the validator for allOf, unclear as to why.
538
+ # additionalProperties: false
515
539
  allOf:
516
540
  - $ref: "#/components/schemas/DescriptiveBasicValue"
517
541
  - $ref: "#/components/schemas/AppliesTo"
@@ -542,6 +566,12 @@ components:
542
566
  - type: object
543
567
  required:
544
568
  - parallelValue
569
+ - type: object
570
+ required:
571
+ - groupedValue
572
+ - type: object
573
+ required:
574
+ - valueAt
545
575
  DRO:
546
576
  description: Domain-defined abstraction of a 'work'. Digital Repository Objects' abstraction is describable for our domain’s purposes, i.e. for management needs within our system.
547
577
  type: object
@@ -914,6 +944,11 @@ components:
914
944
  encoding:
915
945
  # description: present for mapping to additional schemas in the future and for consistency but not otherwise used
916
946
  $ref: "#/components/schemas/Standard"
947
+ groupedValue:
948
+ description: present for mapping to additional schemas in the future and for consistency but not otherwise used
949
+ type: array
950
+ items:
951
+ $ref: "#/components/schemas/DescriptiveValue"
917
952
  note:
918
953
  description: present for mapping to additional schemas in the future and for consistency but not otherwise used
919
954
  type: array
@@ -953,6 +988,9 @@ components:
953
988
  value:
954
989
  description: Value of the descriptive element.
955
990
  type: string
991
+ valueAt:
992
+ description: URL or other pointer to the location of the language information.
993
+ type: string
956
994
  valueLanguage:
957
995
  # description: present for mapping to additional schemas in the future and for consistency but not otherwise used
958
996
  $ref: "#/components/schemas/DescriptiveValueLanguage"
@@ -1060,9 +1098,9 @@ components:
1060
1098
  version:
1061
1099
  description: The version of the related resource.
1062
1100
  type: string
1063
- order:
1064
- description: The order of the related resource in a series of related resources.
1065
- type: integer
1101
+ valueAt:
1102
+ description: URL or other pointer to the location of the related resource information.
1103
+ type: string
1066
1104
  ReleaseTag:
1067
1105
  description: A tag that indicates the item or collection should be released.
1068
1106
  type: object
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.43.0
4
+ version: 0.47.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-20 00:00:00.000000000 Z
11
+ date: 2021-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -170,28 +170,28 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: '0.87'
173
+ version: '0.93'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: '0.87'
180
+ version: '0.93'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rubocop-rspec
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ">="
185
+ - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '0'
187
+ version: '1.44'
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - ">="
192
+ - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: '0'
194
+ version: '1.44'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: simplecov
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -268,6 +268,7 @@ files:
268
268
  - lib/cocina/models/descriptive_admin_metadata.rb
269
269
  - lib/cocina/models/descriptive_basic_value.rb
270
270
  - lib/cocina/models/descriptive_geographic_metadata.rb
271
+ - lib/cocina/models/descriptive_grouped_value.rb
271
272
  - lib/cocina/models/descriptive_parallel_value.rb
272
273
  - lib/cocina/models/descriptive_structured_value.rb
273
274
  - lib/cocina/models/descriptive_value.rb
@@ -316,7 +317,7 @@ require_paths:
316
317
  - lib
317
318
  required_ruby_version: !ruby/object:Gem::Requirement
318
319
  requirements:
319
- - - "~>"
320
+ - - ">="
320
321
  - !ruby/object:Gem::Version
321
322
  version: '2.5'
322
323
  required_rubygems_version: !ruby/object:Gem::Requirement