cocina-models 0.32.0 → 0.36.0
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 +4 -4
- data/.github/pull_request_template.md +8 -1
- data/.rubocop.yml +115 -2
- data/README.md +1 -1
- data/cocina-models.gemspec +3 -2
- data/lib/cocina/generator/generator.rb +3 -0
- data/lib/cocina/generator/schema_value.rb +2 -2
- data/lib/cocina/models.rb +1 -2
- data/lib/cocina/models/admin_policy_administrative.rb +1 -1
- data/lib/cocina/models/administrative.rb +1 -1
- data/lib/cocina/models/contributor.rb +3 -1
- data/lib/cocina/models/description.rb +4 -2
- data/lib/cocina/models/descriptive_access_metadata.rb +13 -0
- data/lib/cocina/models/descriptive_admin_metadata.rb +3 -1
- data/lib/cocina/models/descriptive_basic_value.rb +10 -3
- data/lib/cocina/models/descriptive_parallel_value.rb +9 -0
- data/lib/cocina/models/descriptive_structured_value.rb +1 -1
- data/lib/cocina/models/descriptive_value.rb +10 -4
- data/lib/cocina/models/descriptive_value_required.rb +10 -4
- data/lib/cocina/models/dro.rb +1 -1
- data/lib/cocina/models/dro_access.rb +2 -0
- data/lib/cocina/models/event.rb +1 -1
- data/lib/cocina/models/file.rb +1 -1
- data/lib/cocina/models/identification.rb +2 -0
- data/lib/cocina/models/language.rb +30 -0
- data/lib/cocina/models/related_resource.rb +21 -0
- data/lib/cocina/models/request_collection.rb +1 -1
- data/lib/cocina/models/request_dro.rb +2 -2
- data/lib/cocina/models/request_identification.rb +13 -0
- data/lib/cocina/models/sequence.rb +1 -0
- data/lib/cocina/models/source.rb +1 -0
- data/lib/cocina/models/standard.rb +16 -0
- data/lib/cocina/models/version.rb +1 -1
- data/openapi.yml +322 -93
- metadata +18 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6f64b937df8c8d8c7bbd64af57d587e27843ebcd7e751ea4caff887aaa78c7a1
|
|
4
|
+
data.tar.gz: b697ab2535648dd6d1520f35da839e599756e7c49bbc2803d17a5d6e2db9307d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c67039d09d1d04e7bba5aaf0199402e5e1e0b9008b56a268735f59d4d61bd92f5c6e17f0edaf8625102f5e7bfd25e7cc66b4e58e51193e811bf2635b43ff21cc
|
|
7
|
+
data.tar.gz: d7eeeccbc2a215cdee206b746bda7e38e7c86fca21b5c92f40057c5ffa760494cc539490dd35734314e82506f0ad922ae15f68bcf414034d9ce2fad06375397c
|
data/.rubocop.yml
CHANGED
|
@@ -4,7 +4,10 @@ inherit_from: .rubocop_todo.yml
|
|
|
4
4
|
require:
|
|
5
5
|
- rubocop-rspec
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
AllCops:
|
|
8
|
+
TargetRubyVersion: 2.5
|
|
9
|
+
|
|
10
|
+
Layout/LineLength:
|
|
8
11
|
Max: 114
|
|
9
12
|
Exclude:
|
|
10
13
|
- lib/cocina/models/*
|
|
@@ -26,7 +29,117 @@ RSpec/ExampleLength:
|
|
|
26
29
|
- spec/cocina/models/description_spec.rb
|
|
27
30
|
- spec/cocina/models/dro_shared_examples.rb
|
|
28
31
|
|
|
29
|
-
|
|
30
32
|
Style/Documentation:
|
|
31
33
|
Exclude:
|
|
32
34
|
- lib/cocina/models/*
|
|
35
|
+
|
|
36
|
+
Layout/EmptyLinesAroundAttributeAccessor:
|
|
37
|
+
Enabled: true
|
|
38
|
+
|
|
39
|
+
Layout/SpaceAroundMethodCallOperator:
|
|
40
|
+
Enabled: true
|
|
41
|
+
|
|
42
|
+
Lint/DeprecatedOpenSSLConstant:
|
|
43
|
+
Enabled: true
|
|
44
|
+
|
|
45
|
+
Lint/MixedRegexpCaptureTypes:
|
|
46
|
+
Enabled: true
|
|
47
|
+
|
|
48
|
+
Lint/RaiseException:
|
|
49
|
+
Enabled: true
|
|
50
|
+
|
|
51
|
+
Lint/StructNewOverride:
|
|
52
|
+
Enabled: true
|
|
53
|
+
|
|
54
|
+
Style/AccessorGrouping:
|
|
55
|
+
Enabled: true
|
|
56
|
+
|
|
57
|
+
Style/BisectedAttrAccessor:
|
|
58
|
+
Enabled: true
|
|
59
|
+
|
|
60
|
+
Style/ExponentialNotation:
|
|
61
|
+
Enabled: true
|
|
62
|
+
|
|
63
|
+
Style/HashEachMethods:
|
|
64
|
+
Enabled: true
|
|
65
|
+
|
|
66
|
+
Style/HashTransformKeys:
|
|
67
|
+
Enabled: true
|
|
68
|
+
|
|
69
|
+
Style/HashTransformValues:
|
|
70
|
+
Enabled: true
|
|
71
|
+
|
|
72
|
+
Style/RedundantAssignment:
|
|
73
|
+
Enabled: true
|
|
74
|
+
|
|
75
|
+
Style/RedundantFetchBlock:
|
|
76
|
+
Enabled: true
|
|
77
|
+
|
|
78
|
+
Style/RedundantRegexpCharacterClass:
|
|
79
|
+
Enabled: true
|
|
80
|
+
|
|
81
|
+
Style/RedundantRegexpEscape:
|
|
82
|
+
Enabled: true
|
|
83
|
+
|
|
84
|
+
Style/SlicingWithRange:
|
|
85
|
+
Enabled: true
|
|
86
|
+
|
|
87
|
+
Lint/BinaryOperatorWithIdenticalOperands:
|
|
88
|
+
Enabled: true
|
|
89
|
+
|
|
90
|
+
Lint/DuplicateElsifCondition:
|
|
91
|
+
Enabled: true
|
|
92
|
+
|
|
93
|
+
Lint/DuplicateRescueException:
|
|
94
|
+
Enabled: true
|
|
95
|
+
|
|
96
|
+
Lint/EmptyConditionalBody:
|
|
97
|
+
Enabled: true
|
|
98
|
+
|
|
99
|
+
Lint/FloatComparison:
|
|
100
|
+
Enabled: true
|
|
101
|
+
|
|
102
|
+
Lint/MissingSuper:
|
|
103
|
+
Enabled: true
|
|
104
|
+
|
|
105
|
+
Lint/OutOfRangeRegexpRef:
|
|
106
|
+
Enabled: true
|
|
107
|
+
|
|
108
|
+
Lint/SelfAssignment:
|
|
109
|
+
Enabled: true
|
|
110
|
+
|
|
111
|
+
Lint/TopLevelReturnWithArgument:
|
|
112
|
+
Enabled: true
|
|
113
|
+
|
|
114
|
+
Lint/UnreachableLoop:
|
|
115
|
+
Enabled: true
|
|
116
|
+
|
|
117
|
+
Style/ArrayCoercion:
|
|
118
|
+
Enabled: true
|
|
119
|
+
|
|
120
|
+
Style/CaseLikeIf:
|
|
121
|
+
Enabled: true
|
|
122
|
+
|
|
123
|
+
Style/ExplicitBlockArgument:
|
|
124
|
+
Enabled: true
|
|
125
|
+
|
|
126
|
+
Style/GlobalStdStream:
|
|
127
|
+
Enabled: true
|
|
128
|
+
|
|
129
|
+
Style/HashAsLastArrayItem:
|
|
130
|
+
Enabled: true
|
|
131
|
+
|
|
132
|
+
Style/HashLikeCase:
|
|
133
|
+
Enabled: true
|
|
134
|
+
|
|
135
|
+
Style/OptionalBooleanParameter:
|
|
136
|
+
Enabled: false
|
|
137
|
+
|
|
138
|
+
Style/RedundantFileExtensionInRequire:
|
|
139
|
+
Enabled: true
|
|
140
|
+
|
|
141
|
+
Style/SingleArgumentDig:
|
|
142
|
+
Enabled: true
|
|
143
|
+
|
|
144
|
+
Style/StringConcatenation:
|
|
145
|
+
Enabled: true
|
data/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[](https://circleci.com/gh/sul-dlss/cocina-models)
|
|
2
2
|
[](https://codeclimate.com/github/sul-dlss/cocina-models/test_coverage)
|
|
3
3
|
[](https://codeclimate.com/github/sul-dlss/cocina-models/maintainability)
|
|
4
4
|
[](https://badge.fury.io/rb/cocina-models)
|
data/cocina-models.gemspec
CHANGED
|
@@ -22,6 +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
26
|
|
|
26
27
|
spec.add_dependency 'activesupport'
|
|
27
28
|
spec.add_dependency 'dry-struct', '~> 1.0'
|
|
@@ -33,9 +34,9 @@ Gem::Specification.new do |spec|
|
|
|
33
34
|
|
|
34
35
|
spec.add_development_dependency 'bundler', '~> 2.0'
|
|
35
36
|
spec.add_development_dependency 'committee'
|
|
36
|
-
spec.add_development_dependency 'rake', '~>
|
|
37
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
|
37
38
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
38
|
-
spec.add_development_dependency 'rubocop', '~> 0.
|
|
39
|
+
spec.add_development_dependency 'rubocop', '~> 0.87'
|
|
39
40
|
spec.add_development_dependency 'rubocop-rspec'
|
|
40
41
|
spec.add_development_dependency 'simplecov', '~> 0.17.0'
|
|
41
42
|
end
|
|
@@ -17,10 +17,13 @@ module Cocina
|
|
|
17
17
|
def generate
|
|
18
18
|
clean_output
|
|
19
19
|
|
|
20
|
+
# rubocop:disable Style/HashEachMethods
|
|
21
|
+
# This is not a Hash
|
|
20
22
|
schemas.keys.each do |schema_name|
|
|
21
23
|
schema = schema_for(schema_name)
|
|
22
24
|
generate_for(schema) if schema
|
|
23
25
|
end
|
|
26
|
+
# rubocop:enable Style/HashEachMethods
|
|
24
27
|
|
|
25
28
|
generate_vocab
|
|
26
29
|
end
|
|
@@ -4,11 +4,11 @@ module Cocina
|
|
|
4
4
|
module Generator
|
|
5
5
|
# Class for generating from an openapi value
|
|
6
6
|
class SchemaValue < SchemaBase
|
|
7
|
-
# rubocop:disable
|
|
7
|
+
# rubocop:disable Layout/LineLength
|
|
8
8
|
def generate
|
|
9
9
|
"#{description}#{example}attribute :#{name.camelize(:lower)}, Types::#{dry_datatype(schema_doc)}#{default}#{enum}#{omittable}"
|
|
10
10
|
end
|
|
11
|
-
# rubocop:enable
|
|
11
|
+
# rubocop:enable Layout/LineLength
|
|
12
12
|
|
|
13
13
|
private
|
|
14
14
|
|
data/lib/cocina/models.rb
CHANGED
|
@@ -14,7 +14,6 @@ require 'thor'
|
|
|
14
14
|
|
|
15
15
|
# Help Zeitwerk find some of our classes
|
|
16
16
|
class CocinaModelsInflector < Zeitwerk::Inflector
|
|
17
|
-
# rubocop:disable Metrics/CyclomaticComplexity
|
|
18
17
|
# rubocop:disable Metrics/MethodLength
|
|
19
18
|
def camelize(basename, _abspath)
|
|
20
19
|
case basename
|
|
@@ -34,7 +33,7 @@ class CocinaModelsInflector < Zeitwerk::Inflector
|
|
|
34
33
|
super
|
|
35
34
|
end
|
|
36
35
|
end
|
|
37
|
-
|
|
36
|
+
|
|
38
37
|
# rubocop:enable Metrics/MethodLength
|
|
39
38
|
end
|
|
40
39
|
|
|
@@ -5,7 +5,7 @@ module Cocina
|
|
|
5
5
|
class AdminPolicyAdministrative < Struct
|
|
6
6
|
attribute :defaultObjectRights, Types::Strict::String.default('<?xml version="1.0" encoding="UTF-8"?><rightsMetadata><access type="discover"><machine><world/></machine></access><access type="read"><machine><world/></machine></access><use><human type="useAndReproduction"/><human type="creativeCommons"/><machine type="creativeCommons" uri=""/><human type="openDataCommons"/><machine type="openDataCommons" uri=""/></use><copyright><human/></copyright></rightsMetadata>').meta(omittable: true)
|
|
7
7
|
attribute :registrationWorkflow, Types::Strict::String.meta(omittable: true)
|
|
8
|
-
attribute :hasAdminPolicy, Types::Strict::String
|
|
8
|
+
attribute :hasAdminPolicy, Types::Strict::String
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
11
|
end
|
|
@@ -4,7 +4,7 @@ module Cocina
|
|
|
4
4
|
module Models
|
|
5
5
|
class Administrative < Struct
|
|
6
6
|
# example: druid:bc123df4567
|
|
7
|
-
attribute :hasAdminPolicy, Types::Strict::String
|
|
7
|
+
attribute :hasAdminPolicy, Types::Strict::String
|
|
8
8
|
attribute :releaseTags, Types::Strict::Array.of(ReleaseTag).meta(omittable: true)
|
|
9
9
|
# Administrative or Internal project this resource is a part of
|
|
10
10
|
# example: Google Books
|
|
@@ -6,9 +6,11 @@ module Cocina
|
|
|
6
6
|
attribute :name, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
7
7
|
# Entity type of the contributor (person, organization, etc.).
|
|
8
8
|
attribute :type, Types::Strict::String.meta(omittable: true)
|
|
9
|
-
# Status of the contributor relative to other parallel contributors.
|
|
9
|
+
# Status of the contributor relative to other parallel contributors (e.g. the primary author among a group of contributors).
|
|
10
10
|
attribute :status, Types::Strict::String.meta(omittable: true)
|
|
11
11
|
attribute :role, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
12
|
+
attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
13
|
+
attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
12
14
|
end
|
|
13
15
|
end
|
|
14
16
|
end
|
|
@@ -7,12 +7,14 @@ module Cocina
|
|
|
7
7
|
attribute :contributor, Types::Strict::Array.of(Contributor).meta(omittable: true)
|
|
8
8
|
attribute :event, Types::Strict::Array.of(Event).meta(omittable: true)
|
|
9
9
|
attribute :form, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
10
|
-
attribute :language, Types::Strict::Array.of(
|
|
10
|
+
attribute :language, Types::Strict::Array.of(Language).meta(omittable: true)
|
|
11
11
|
attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
12
12
|
attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
13
|
+
attribute :subject, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
13
14
|
# Stanford persistent URL associated with the resource.
|
|
14
15
|
attribute :purl, Types::Strict::String.meta(omittable: true)
|
|
15
|
-
attribute :
|
|
16
|
+
attribute :access, DescriptiveAccessMetadata.optional.meta(omittable: true)
|
|
17
|
+
attribute :relatedResource, Types::Strict::Array.of(RelatedResource).meta(omittable: true)
|
|
16
18
|
attribute :marcEncodedData, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
17
19
|
attribute :adminMetadata, DescriptiveAdminMetadata.optional.meta(omittable: true)
|
|
18
20
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cocina
|
|
4
|
+
module Models
|
|
5
|
+
class DescriptiveAccessMetadata < Struct
|
|
6
|
+
attribute :url, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
7
|
+
attribute :physicalLocation, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
8
|
+
attribute :accessContact, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
9
|
+
attribute :digitalRepository, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
10
|
+
attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -5,8 +5,10 @@ module Cocina
|
|
|
5
5
|
class DescriptiveAdminMetadata < Struct
|
|
6
6
|
attribute :contributor, Types::Strict::Array.of(Contributor).meta(omittable: true)
|
|
7
7
|
attribute :event, Types::Strict::Array.of(Event).meta(omittable: true)
|
|
8
|
-
attribute :language, Types::Strict::Array.of(
|
|
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)
|
|
11
|
+
attribute :identifier, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
10
12
|
end
|
|
11
13
|
end
|
|
12
14
|
end
|
|
@@ -3,19 +3,26 @@
|
|
|
3
3
|
module Cocina
|
|
4
4
|
module Models
|
|
5
5
|
class DescriptiveBasicValue < Struct
|
|
6
|
+
attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
7
|
+
attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
6
8
|
# String value of the descriptive element.
|
|
7
9
|
attribute :value, Types::Strict::String.meta(omittable: true)
|
|
8
10
|
# Type of value provided by the descriptive element.
|
|
9
11
|
attribute :type, Types::Strict::String.meta(omittable: true)
|
|
10
|
-
# Status of the descriptive element relative to other instances of the element.
|
|
12
|
+
# Status of the descriptive element value relative to other instances of the element.
|
|
11
13
|
attribute :status, Types::Strict::String.meta(omittable: true)
|
|
12
14
|
# Code value of the descriptive element.
|
|
13
15
|
attribute :code, Types::Strict::String.meta(omittable: true)
|
|
14
16
|
# URI value of the descriptive element.
|
|
15
17
|
attribute :uri, Types::Strict::String.meta(omittable: true)
|
|
16
|
-
attribute :standard,
|
|
17
|
-
attribute :encoding,
|
|
18
|
+
attribute :standard, Standard.optional.meta(omittable: true)
|
|
19
|
+
attribute :encoding, Standard.optional.meta(omittable: true)
|
|
18
20
|
attribute :source, Source.optional.meta(omittable: true)
|
|
21
|
+
# The preferred display label to use for the descriptive element in access systems.
|
|
22
|
+
attribute :displayLabel, Types::Strict::String.meta(omittable: true)
|
|
23
|
+
# A term providing information about the circumstances of the statement (e.g., approximate dates).
|
|
24
|
+
attribute :qualifier, Types::Strict::String.meta(omittable: true)
|
|
25
|
+
attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
19
26
|
end
|
|
20
27
|
end
|
|
21
28
|
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Cocina
|
|
4
4
|
module Models
|
|
5
5
|
class DescriptiveStructuredValue < Struct
|
|
6
|
-
attribute :structuredValue, Types::Strict::Array.of(
|
|
6
|
+
attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
7
7
|
end
|
|
8
8
|
end
|
|
9
9
|
end
|
|
@@ -3,20 +3,26 @@
|
|
|
3
3
|
module Cocina
|
|
4
4
|
module Models
|
|
5
5
|
class DescriptiveValue < Struct
|
|
6
|
+
attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
7
|
+
attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
6
8
|
# String value of the descriptive element.
|
|
7
9
|
attribute :value, Types::Strict::String.meta(omittable: true)
|
|
8
10
|
# Type of value provided by the descriptive element.
|
|
9
11
|
attribute :type, Types::Strict::String.meta(omittable: true)
|
|
10
|
-
# Status of the descriptive element relative to other instances of the element.
|
|
12
|
+
# Status of the descriptive element value relative to other instances of the element.
|
|
11
13
|
attribute :status, Types::Strict::String.meta(omittable: true)
|
|
12
14
|
# Code value of the descriptive element.
|
|
13
15
|
attribute :code, Types::Strict::String.meta(omittable: true)
|
|
14
16
|
# URI value of the descriptive element.
|
|
15
17
|
attribute :uri, Types::Strict::String.meta(omittable: true)
|
|
16
|
-
attribute :standard,
|
|
17
|
-
attribute :encoding,
|
|
18
|
+
attribute :standard, Standard.optional.meta(omittable: true)
|
|
19
|
+
attribute :encoding, Standard.optional.meta(omittable: true)
|
|
18
20
|
attribute :source, Source.optional.meta(omittable: true)
|
|
19
|
-
|
|
21
|
+
# The preferred display label to use for the descriptive element in access systems.
|
|
22
|
+
attribute :displayLabel, Types::Strict::String.meta(omittable: true)
|
|
23
|
+
# A term providing information about the circumstances of the statement (e.g., approximate dates).
|
|
24
|
+
attribute :qualifier, Types::Strict::String.meta(omittable: true)
|
|
25
|
+
attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
20
26
|
attribute :appliesTo, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
|
|
21
27
|
end
|
|
22
28
|
end
|
|
@@ -3,20 +3,26 @@
|
|
|
3
3
|
module Cocina
|
|
4
4
|
module Models
|
|
5
5
|
class DescriptiveValueRequired < Struct
|
|
6
|
+
attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
7
|
+
attribute :parallelValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
6
8
|
# String value of the descriptive element.
|
|
7
9
|
attribute :value, Types::Strict::String.meta(omittable: true)
|
|
8
10
|
# Type of value provided by the descriptive element.
|
|
9
11
|
attribute :type, Types::Strict::String.meta(omittable: true)
|
|
10
|
-
# Status of the descriptive element relative to other instances of the element.
|
|
12
|
+
# Status of the descriptive element value relative to other instances of the element.
|
|
11
13
|
attribute :status, Types::Strict::String.meta(omittable: true)
|
|
12
14
|
# Code value of the descriptive element.
|
|
13
15
|
attribute :code, Types::Strict::String.meta(omittable: true)
|
|
14
16
|
# URI value of the descriptive element.
|
|
15
17
|
attribute :uri, Types::Strict::String.meta(omittable: true)
|
|
16
|
-
attribute :standard,
|
|
17
|
-
attribute :encoding,
|
|
18
|
+
attribute :standard, Standard.optional.meta(omittable: true)
|
|
19
|
+
attribute :encoding, Standard.optional.meta(omittable: true)
|
|
18
20
|
attribute :source, Source.optional.meta(omittable: true)
|
|
19
|
-
|
|
21
|
+
# The preferred display label to use for the descriptive element in access systems.
|
|
22
|
+
attribute :displayLabel, Types::Strict::String.meta(omittable: true)
|
|
23
|
+
# A term providing information about the circumstances of the statement (e.g., approximate dates).
|
|
24
|
+
attribute :qualifier, Types::Strict::String.meta(omittable: true)
|
|
25
|
+
attribute :note, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
20
26
|
attribute :appliesTo, Types::Strict::Array.of(DescriptiveBasicValue).meta(omittable: true)
|
|
21
27
|
end
|
|
22
28
|
end
|
data/lib/cocina/models/dro.rb
CHANGED
|
@@ -31,7 +31,7 @@ module Cocina
|
|
|
31
31
|
# Version for the DRO within SDR.
|
|
32
32
|
attribute :version, Types::Strict::Integer
|
|
33
33
|
attribute(:access, DROAccess.default { DROAccess.new })
|
|
34
|
-
attribute
|
|
34
|
+
attribute(:administrative, Administrative.default { Administrative.new })
|
|
35
35
|
attribute :description, Description.optional.meta(omittable: true)
|
|
36
36
|
attribute :identification, Identification.optional.meta(omittable: true)
|
|
37
37
|
attribute :structural, DROStructural.optional.meta(omittable: true)
|
|
@@ -4,6 +4,8 @@ module Cocina
|
|
|
4
4
|
module Models
|
|
5
5
|
class DROAccess < Struct
|
|
6
6
|
attribute :access, Types::Strict::String.default('dark').enum('world', 'stanford', 'location-based', 'citation-only', 'dark').meta(omittable: true)
|
|
7
|
+
# Available for controlled digital lending.
|
|
8
|
+
attribute :controlledDigitalLending, Types::Strict::Bool.meta(omittable: true)
|
|
7
9
|
# The human readable copyright statement that applies
|
|
8
10
|
# example: Copyright World Trade Organization
|
|
9
11
|
attribute :copyright, Types::Strict::String.meta(omittable: true)
|
data/lib/cocina/models/event.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Cocina
|
|
4
4
|
module Models
|
|
5
5
|
class Event < Struct
|
|
6
|
-
attribute :structuredValue, Types::Strict::Array.of(
|
|
6
|
+
attribute :structuredValue, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|
|
7
7
|
# Description of the event (creation, publication, etc.).
|
|
8
8
|
attribute :type, Types::Strict::String.meta(omittable: true)
|
|
9
9
|
attribute :date, Types::Strict::Array.of(DescriptiveValue).meta(omittable: true)
|