active-fedora 13.3.0 → 14.0.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/.circleci/config.yml +106 -46
- data/.rubocop.yml +26 -12
- data/.rubocop_todo.yml +1 -1
- data/Gemfile +3 -3
- data/active-fedora.gemspec +11 -11
- data/lib/active_fedora/association_hash.rb +5 -2
- data/lib/active_fedora/associations/association.rb +2 -4
- data/lib/active_fedora/associations/association_scope.rb +1 -1
- data/lib/active_fedora/associations/basic_contains_association.rb +2 -2
- data/lib/active_fedora/associations/belongs_to_association.rb +1 -1
- data/lib/active_fedora/associations/builder/association.rb +3 -5
- data/lib/active_fedora/associations/builder/basic_contains.rb +1 -1
- data/lib/active_fedora/associations/builder/belongs_to.rb +3 -7
- data/lib/active_fedora/associations/builder/collection_association.rb +7 -7
- data/lib/active_fedora/associations/builder/directly_contains.rb +4 -6
- data/lib/active_fedora/associations/builder/directly_contains_one.rb +5 -6
- data/lib/active_fedora/associations/builder/has_and_belongs_to_many.rb +1 -1
- data/lib/active_fedora/associations/builder/has_many.rb +1 -1
- data/lib/active_fedora/associations/builder/has_subresource.rb +1 -1
- data/lib/active_fedora/associations/builder/indirectly_contains.rb +3 -6
- data/lib/active_fedora/associations/builder/singular_association.rb +1 -1
- data/lib/active_fedora/associations/collection_association.rb +3 -6
- data/lib/active_fedora/associations/container_proxy.rb +2 -0
- data/lib/active_fedora/associations/contains_association.rb +2 -2
- data/lib/active_fedora/associations/directly_contains_association.rb +7 -9
- data/lib/active_fedora/associations/directly_contains_one_association.rb +2 -2
- data/lib/active_fedora/associations/has_and_belongs_to_many_association.rb +1 -1
- data/lib/active_fedora/associations/has_many_association.rb +4 -2
- data/lib/active_fedora/associations/has_subresource_association.rb +2 -4
- data/lib/active_fedora/associations/indirectly_contains_association.rb +10 -12
- data/lib/active_fedora/associations/orders_association.rb +7 -14
- data/lib/active_fedora/associations/rdf.rb +2 -2
- data/lib/active_fedora/associations/record_composite.rb +1 -0
- data/lib/active_fedora/associations/singular_association.rb +3 -1
- data/lib/active_fedora/associations/singular_rdf.rb +1 -1
- data/lib/active_fedora/associations.rb +3 -3
- data/lib/active_fedora/attached_files.rb +5 -3
- data/lib/active_fedora/attribute_assignment.rb +2 -4
- data/lib/active_fedora/attribute_methods/read.rb +1 -1
- data/lib/active_fedora/attribute_methods/write.rb +4 -6
- data/lib/active_fedora/attribute_methods.rb +7 -7
- data/lib/active_fedora/attributes/property_builder.rb +1 -1
- data/lib/active_fedora/attributes.rb +1 -1
- data/lib/active_fedora/autosave_association.rb +4 -4
- data/lib/active_fedora/callbacks.rb +3 -3
- data/lib/active_fedora/change_set.rb +5 -7
- data/lib/active_fedora/cleaner.rb +1 -1
- data/lib/active_fedora/core/fedora_id_translator.rb +1 -3
- data/lib/active_fedora/core.rb +6 -13
- data/lib/active_fedora/errors.rb +3 -3
- data/lib/active_fedora/fedora.rb +3 -7
- data/lib/active_fedora/file/attributes.rb +5 -5
- data/lib/active_fedora/file.rb +1 -1
- data/lib/active_fedora/file_configurator.rb +16 -14
- data/lib/active_fedora/file_io.rb +2 -4
- data/lib/active_fedora/files_hash.rb +2 -2
- data/lib/active_fedora/fixity_service.rb +5 -5
- data/lib/active_fedora/identifiable.rb +2 -18
- data/lib/active_fedora/indexing/default_descriptors.rb +3 -5
- data/lib/active_fedora/indexing/descendant_fetcher.rb +3 -3
- data/lib/active_fedora/indexing/descriptor.rb +1 -1
- data/lib/active_fedora/indexing/field_mapper.rb +3 -5
- data/lib/active_fedora/indexing.rb +9 -5
- data/lib/active_fedora/indexing_service.rb +2 -2
- data/lib/active_fedora/inheritance.rb +1 -3
- data/lib/active_fedora/ldp_resource.rb +3 -3
- data/lib/active_fedora/loadable_from_json.rb +5 -3
- data/lib/active_fedora/model_classifier.rb +2 -2
- data/lib/active_fedora/nested_attributes.rb +11 -21
- data/lib/active_fedora/null_logger.rb +2 -0
- data/lib/active_fedora/orders/list_node.rb +2 -3
- data/lib/active_fedora/orders/ordered_list.rb +16 -22
- data/lib/active_fedora/orders/target_proxy.rb +1 -1
- data/lib/active_fedora/querying.rb +1 -1
- data/lib/active_fedora/rdf/fcrepo.rb +3 -0
- data/lib/active_fedora/rdf/field_map.rb +0 -1
- data/lib/active_fedora/rdf/persistence.rb +1 -1
- data/lib/active_fedora/reflection.rb +8 -11
- data/lib/active_fedora/relation/finder_methods.rb +6 -12
- data/lib/active_fedora/relation/spawn_methods.rb +1 -1
- data/lib/active_fedora/runtime_registry.rb +2 -4
- data/lib/active_fedora/scoping/default.rb +2 -4
- data/lib/active_fedora/scoping/named.rb +1 -3
- data/lib/active_fedora/scoping.rb +2 -2
- data/lib/active_fedora/serialization.rb +1 -1
- data/lib/active_fedora/solr_service.rb +1 -3
- data/lib/active_fedora/version.rb +1 -1
- data/lib/active_fedora/versionable.rb +2 -2
- data/lib/active_fedora/versions_graph.rb +4 -6
- data/lib/active_fedora/with_metadata/metadata_node.rb +1 -1
- data/lib/active_fedora/with_metadata.rb +1 -1
- data/lib/active_fedora.rb +5 -7
- data/lib/generators/active_fedora/config/solr/templates/solr/conf/solrconfig.xml +3 -1
- data/lib/tasks/active_fedora_dev.rake +5 -5
- metadata +25 -52
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c5ea2bfd359fe8ac2103cc2f22d4bfacb564a5a6fe0964d6586120dbba785035
|
|
4
|
+
data.tar.gz: 64b28f342a53d4b2176ae4fbcdf502a7acd6e2f533bb68b71d2664e8fd95cf35
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0dd1090c7c74aa2926172c858c32bc223120ffb29b75fa1b099f8a2f881e3cf4ca772c520b54241b6f72f5997aecb5149ce4a218339e8ce0d00ad4f3c42beec9
|
|
7
|
+
data.tar.gz: bb97c2be3c9b48fc185a1ce528234e1b7d96a497fa957810fd7c4546f087d4b6a4df7c6626e1340f74d2e5bd856a777d759ce98ddbb2a6c59e666c2bb31d398e
|
data/.circleci/config.yml
CHANGED
|
@@ -47,41 +47,71 @@ jobs:
|
|
|
47
47
|
workflows:
|
|
48
48
|
ci:
|
|
49
49
|
jobs:
|
|
50
|
+
# Ruby 3.2 releases
|
|
51
|
+
- bundle_lint_test:
|
|
52
|
+
name: ruby3-2_rails7-0
|
|
53
|
+
ruby_version: 3.2.0
|
|
54
|
+
rails_version: 7.0.4.1
|
|
55
|
+
- bundle_lint_test:
|
|
56
|
+
name: ruby3-2_rails6-1
|
|
57
|
+
ruby_version: 3.2.0
|
|
58
|
+
rails_version: 6.1.7.1
|
|
59
|
+
- bundle_lint_test:
|
|
60
|
+
name: ruby3-2_rails6-0
|
|
61
|
+
ruby_version: 3.2.0
|
|
62
|
+
rails_version: 6.0.6.1
|
|
63
|
+
# Ruby 3.1 releases
|
|
64
|
+
- bundle_lint_test:
|
|
65
|
+
name: ruby3-1_rails7-0
|
|
66
|
+
ruby_version: 3.1.3
|
|
67
|
+
rails_version: 7.0.4.1
|
|
68
|
+
- bundle_lint_test:
|
|
69
|
+
name: ruby3-1_rails6-1
|
|
70
|
+
ruby_version: 3.1.3
|
|
71
|
+
rails_version: 6.1.7.1
|
|
72
|
+
- bundle_lint_test:
|
|
73
|
+
name: ruby3-1_rails6-0
|
|
74
|
+
ruby_version: 3.1.3
|
|
75
|
+
rails_version: 6.0.6.1
|
|
76
|
+
# Ruby 3.0 releases
|
|
77
|
+
- bundle_lint_test:
|
|
78
|
+
name: ruby3-0_rails7-0
|
|
79
|
+
ruby_version: 3.0.5
|
|
80
|
+
rails_version: 7.0.4.1
|
|
81
|
+
- bundle_lint_test:
|
|
82
|
+
name: ruby3-0_rails6-1
|
|
83
|
+
ruby_version: 3.0.5
|
|
84
|
+
rails_version: 6.1.7.1
|
|
85
|
+
- bundle_lint_test:
|
|
86
|
+
name: ruby3-0_rails6-0
|
|
87
|
+
ruby_version: 3.0.5
|
|
88
|
+
rails_version: 6.0.6.1
|
|
50
89
|
# Ruby 2.7 releases
|
|
90
|
+
- bundle_lint_test:
|
|
91
|
+
name: ruby2-7_rails7-0
|
|
92
|
+
ruby_version: 2.7.7
|
|
93
|
+
rails_version: 7.0.4.1
|
|
51
94
|
- bundle_lint_test:
|
|
52
95
|
name: ruby2-7_rails6-1
|
|
53
|
-
ruby_version: 2.7.
|
|
54
|
-
rails_version: 6.1.
|
|
96
|
+
ruby_version: 2.7.7
|
|
97
|
+
rails_version: 6.1.7.1
|
|
55
98
|
- bundle_lint_test:
|
|
56
99
|
name: ruby2-7_rails6-0
|
|
57
|
-
ruby_version: 2.7.
|
|
58
|
-
rails_version: 6.0.
|
|
100
|
+
ruby_version: 2.7.7
|
|
101
|
+
rails_version: 6.0.6.1
|
|
59
102
|
- bundle_lint_test:
|
|
60
103
|
name: ruby2-7_rails5-2
|
|
61
|
-
ruby_version: 2.7.
|
|
62
|
-
rails_version: 5.2.
|
|
104
|
+
ruby_version: 2.7.7
|
|
105
|
+
rails_version: 5.2.8.1
|
|
63
106
|
# Ruby 2.6 releases
|
|
64
|
-
- bundle_lint_test:
|
|
65
|
-
name: ruby2-6_rails6-1
|
|
66
|
-
ruby_version: 2.6.9
|
|
67
|
-
rails_version: 6.1.6.1
|
|
68
107
|
- bundle_lint_test:
|
|
69
108
|
name: ruby2-6_rails6-0
|
|
70
|
-
ruby_version: 2.6.
|
|
71
|
-
rails_version: 6.0.
|
|
109
|
+
ruby_version: 2.6.10
|
|
110
|
+
rails_version: 6.0.6.1
|
|
72
111
|
- bundle_lint_test:
|
|
73
112
|
name: ruby2-6_rails5-2
|
|
74
|
-
ruby_version: 2.6.
|
|
75
|
-
rails_version: 5.2.
|
|
76
|
-
# Ruby 2.5 releases
|
|
77
|
-
- bundle_lint_test:
|
|
78
|
-
name: ruby2-5_rails6.0
|
|
79
|
-
ruby_version: 2.5.9
|
|
80
|
-
rails_version: 6.0.4.7
|
|
81
|
-
- bundle_lint_test:
|
|
82
|
-
name: ruby2-5_rails5-2
|
|
83
|
-
ruby_version: 2.5.9
|
|
84
|
-
rails_version: 5.2.4
|
|
113
|
+
ruby_version: 2.6.10
|
|
114
|
+
rails_version: 5.2.8.1
|
|
85
115
|
|
|
86
116
|
nightly:
|
|
87
117
|
triggers:
|
|
@@ -92,38 +122,68 @@ workflows:
|
|
|
92
122
|
only:
|
|
93
123
|
- main
|
|
94
124
|
jobs:
|
|
125
|
+
# Ruby 3.2 releases
|
|
126
|
+
- bundle_lint_test:
|
|
127
|
+
name: ruby3-2_rails7-0
|
|
128
|
+
ruby_version: 3.2.0
|
|
129
|
+
rails_version: 7.0.4.1
|
|
130
|
+
- bundle_lint_test:
|
|
131
|
+
name: ruby3-2_rails6-1
|
|
132
|
+
ruby_version: 3.2.0
|
|
133
|
+
rails_version: 6.1.7.1
|
|
134
|
+
- bundle_lint_test:
|
|
135
|
+
name: ruby3-2_rails6-0
|
|
136
|
+
ruby_version: 3.2.0
|
|
137
|
+
rails_version: 6.0.6.1
|
|
138
|
+
# Ruby 3.1 releases
|
|
139
|
+
- bundle_lint_test:
|
|
140
|
+
name: ruby3-1_rails7-0
|
|
141
|
+
ruby_version: 3.1.3
|
|
142
|
+
rails_version: 7.0.4.1
|
|
143
|
+
- bundle_lint_test:
|
|
144
|
+
name: ruby3-1_rails6-1
|
|
145
|
+
ruby_version: 3.1.3
|
|
146
|
+
rails_version: 6.1.7.1
|
|
147
|
+
- bundle_lint_test:
|
|
148
|
+
name: ruby3-1_rails6-0
|
|
149
|
+
ruby_version: 3.1.3
|
|
150
|
+
rails_version: 6.0.6.1
|
|
151
|
+
# Ruby 3.0 releases
|
|
152
|
+
- bundle_lint_test:
|
|
153
|
+
name: ruby3-0_rails7-0
|
|
154
|
+
ruby_version: 3.0.5
|
|
155
|
+
rails_version: 7.0.4.1
|
|
156
|
+
- bundle_lint_test:
|
|
157
|
+
name: ruby3-0_rails6-1
|
|
158
|
+
ruby_version: 3.0.5
|
|
159
|
+
rails_version: 6.1.7.1
|
|
160
|
+
- bundle_lint_test:
|
|
161
|
+
name: ruby3-0_rails6-0
|
|
162
|
+
ruby_version: 3.0.5
|
|
163
|
+
rails_version: 6.0.6.1
|
|
95
164
|
# Ruby 2.7 releases
|
|
165
|
+
- bundle_lint_test:
|
|
166
|
+
name: ruby2-7_rails7-0
|
|
167
|
+
ruby_version: 2.7.7
|
|
168
|
+
rails_version: 7.0.4.1
|
|
96
169
|
- bundle_lint_test:
|
|
97
170
|
name: ruby2-7_rails6-1
|
|
98
|
-
ruby_version: 2.7.
|
|
99
|
-
rails_version: 6.1.
|
|
171
|
+
ruby_version: 2.7.7
|
|
172
|
+
rails_version: 6.1.7.1
|
|
100
173
|
- bundle_lint_test:
|
|
101
174
|
name: ruby2-7_rails6-0
|
|
102
|
-
ruby_version: 2.7.
|
|
103
|
-
rails_version: 6.0.
|
|
175
|
+
ruby_version: 2.7.7
|
|
176
|
+
rails_version: 6.0.6.1
|
|
104
177
|
- bundle_lint_test:
|
|
105
178
|
name: ruby2-7_rails5-2
|
|
106
|
-
ruby_version: 2.7.
|
|
107
|
-
rails_version: 5.2.
|
|
179
|
+
ruby_version: 2.7.7
|
|
180
|
+
rails_version: 5.2.8.1
|
|
108
181
|
# Ruby 2.6 releases
|
|
109
|
-
- bundle_lint_test:
|
|
110
|
-
name: ruby2-6_rails6-1
|
|
111
|
-
ruby_version: 2.6.9
|
|
112
|
-
rails_version: 6.1.6.1
|
|
113
182
|
- bundle_lint_test:
|
|
114
183
|
name: ruby2-6_rails6-0
|
|
115
|
-
ruby_version: 2.6.
|
|
116
|
-
rails_version: 6.0.
|
|
184
|
+
ruby_version: 2.6.10
|
|
185
|
+
rails_version: 6.0.6.1
|
|
117
186
|
- bundle_lint_test:
|
|
118
187
|
name: ruby2-6_rails5-2
|
|
119
|
-
ruby_version: 2.6.
|
|
120
|
-
rails_version: 5.2.
|
|
121
|
-
# Ruby 2.5 releases
|
|
122
|
-
- bundle_lint_test:
|
|
123
|
-
name: ruby2-5_rails6.0
|
|
124
|
-
ruby_version: 2.5.9
|
|
125
|
-
rails_version: 6.0.4.7
|
|
126
|
-
- bundle_lint_test:
|
|
127
|
-
name: ruby2-5_rails5-2
|
|
128
|
-
ruby_version: 2.5.9
|
|
129
|
-
rails_version: 5.2.4
|
|
188
|
+
ruby_version: 2.6.10
|
|
189
|
+
rails_version: 5.2.8.1
|
data/.rubocop.yml
CHANGED
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
inherit_gem:
|
|
2
|
+
bixby: bixby_default.yml
|
|
2
3
|
|
|
3
4
|
inherit_from:
|
|
4
5
|
- .rubocop_todo.yml
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
DisplayCopNames: true
|
|
9
|
-
Include:
|
|
10
|
-
- '**/Rakefile'
|
|
11
|
-
Exclude:
|
|
12
|
-
- 'script/**/*'
|
|
13
|
-
- 'vendor/**/*'
|
|
7
|
+
Style/FrozenStringLiteralComment:
|
|
8
|
+
Enabled: false
|
|
14
9
|
|
|
15
|
-
Lint/
|
|
10
|
+
Lint/SuppressedException:
|
|
16
11
|
Exclude:
|
|
17
12
|
- 'spec/unit/**/*'
|
|
18
13
|
- 'spec/integration/**/*'
|
|
@@ -22,12 +17,19 @@ Lint/HandleExceptions:
|
|
|
22
17
|
Lint/AssignmentInCondition:
|
|
23
18
|
Enabled: false
|
|
24
19
|
|
|
25
|
-
|
|
20
|
+
Layout/LineLength:
|
|
26
21
|
Enabled: false
|
|
27
22
|
|
|
28
23
|
Metrics/AbcSize:
|
|
29
24
|
Enabled: false
|
|
30
25
|
|
|
26
|
+
Metrics/BlockLength:
|
|
27
|
+
Exclude:
|
|
28
|
+
- 'lib/active_fedora.rb'
|
|
29
|
+
- 'lib/active_fedora/nested_attributes.rb'
|
|
30
|
+
- 'lib/active_fedora/rspec_matchers/**/*'
|
|
31
|
+
- 'lib/tasks/**/*'
|
|
32
|
+
|
|
31
33
|
Metrics/BlockNesting:
|
|
32
34
|
Exclude:
|
|
33
35
|
- 'lib/active_fedora/autosave_association.rb'
|
|
@@ -173,7 +175,7 @@ Style/Lambda:
|
|
|
173
175
|
- 'spec/**/*'
|
|
174
176
|
|
|
175
177
|
Layout/IndentationConsistency:
|
|
176
|
-
EnforcedStyle:
|
|
178
|
+
EnforcedStyle: indented_internal_methods
|
|
177
179
|
|
|
178
180
|
Style/CollectionMethods:
|
|
179
181
|
PreferredMethods:
|
|
@@ -240,6 +242,15 @@ Rails/Date:
|
|
|
240
242
|
Rails/TimeZone:
|
|
241
243
|
Enabled: false
|
|
242
244
|
|
|
245
|
+
Rails/FilePath:
|
|
246
|
+
Enabled: false
|
|
247
|
+
|
|
248
|
+
Rails/ActiveRecordAliases:
|
|
249
|
+
Enabled: false
|
|
250
|
+
|
|
251
|
+
Rails/SkipsModelValidations:
|
|
252
|
+
Enabled: false
|
|
253
|
+
|
|
243
254
|
RSpec/AnyInstance:
|
|
244
255
|
Enabled: false
|
|
245
256
|
|
|
@@ -271,3 +282,6 @@ RSpec/NotToNot:
|
|
|
271
282
|
|
|
272
283
|
RSpec/MessageSpies:
|
|
273
284
|
Enabled: false
|
|
285
|
+
|
|
286
|
+
Security/MarshalLoad:
|
|
287
|
+
Enabled: false
|
data/.rubocop_todo.yml
CHANGED
data/Gemfile
CHANGED
|
@@ -11,14 +11,14 @@ if ENV['RAILS_VERSION']
|
|
|
11
11
|
gem 'activemodel', ENV['RAILS_VERSION']
|
|
12
12
|
gem 'rails', ENV['RAILS_VERSION']
|
|
13
13
|
else
|
|
14
|
-
gem 'activemodel', '
|
|
15
|
-
gem 'rails', '
|
|
14
|
+
gem 'activemodel', '>= 6.0', '< 8'
|
|
15
|
+
gem 'rails', '>= 6.0', '< 8'
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
group :test do
|
|
19
|
-
gem 'simplecov', require: false
|
|
20
19
|
gem 'coveralls', require: false
|
|
21
20
|
gem 'rspec_junit_formatter'
|
|
21
|
+
gem 'simplecov', require: false
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
gem 'jruby-openssl', platform: :jruby
|
data/active-fedora.gemspec
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
|
-
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
4
|
require "active_fedora/version"
|
|
4
5
|
|
|
5
6
|
Gem::Specification.new do |s|
|
|
@@ -8,39 +9,38 @@ Gem::Specification.new do |s|
|
|
|
8
9
|
s.platform = Gem::Platform::RUBY
|
|
9
10
|
s.authors = ["Matt Zumwalt", "McClain Looney", "Justin Coyne"]
|
|
10
11
|
s.email = ["samvera-tech@googlegroups.com"]
|
|
11
|
-
s.homepage =
|
|
12
|
-
s.summary =
|
|
13
|
-
s.description =
|
|
12
|
+
s.homepage = 'https://github.com/samvera/active_fedora'
|
|
13
|
+
s.summary = 'A convenience libary for manipulating documents in the Fedora Repository.'
|
|
14
|
+
s.description = 'ActiveFedora provides for creating and managing objects in the Fedora Repository Architecture.'
|
|
14
15
|
s.license = "Apache-2.0"
|
|
15
|
-
s.
|
|
16
|
+
s.metadata = { "rubygems_mfa_required" => "true" }
|
|
17
|
+
s.required_ruby_version = '>= 2.6'
|
|
16
18
|
|
|
17
19
|
s.add_dependency "activemodel", '>= 5.1'
|
|
18
20
|
s.add_dependency "activesupport", '>= 5.1'
|
|
19
21
|
s.add_dependency "active-triples", '>= 0.11.0', '< 2.0.0'
|
|
20
22
|
s.add_dependency "deprecation"
|
|
21
|
-
s.add_dependency 'faraday', '~> 0
|
|
23
|
+
s.add_dependency 'faraday', '~> 1.0'
|
|
22
24
|
s.add_dependency 'faraday-encoding', '>= 0.0.5'
|
|
23
25
|
s.add_dependency "ldp", '>= 0.7.0', '< 2'
|
|
24
26
|
s.add_dependency 'rsolr', '>= 1.1.2', '< 3'
|
|
25
27
|
s.add_dependency "ruby-progressbar", '~> 1.0'
|
|
26
28
|
|
|
29
|
+
s.add_development_dependency "bixby"
|
|
27
30
|
s.add_development_dependency "equivalent-xml"
|
|
28
31
|
s.add_development_dependency 'fcrepo_wrapper', '~> 0.2'
|
|
29
32
|
s.add_development_dependency "github_changelog_generator"
|
|
30
33
|
s.add_development_dependency "rdoc"
|
|
31
|
-
s.add_development_dependency "psych", "< 4" # Restricted because 4.0+ do not work with rubocop 0.56.x
|
|
32
34
|
s.add_development_dependency "rails"
|
|
33
35
|
s.add_development_dependency "rake"
|
|
34
36
|
s.add_development_dependency "rspec", "~> 3.5"
|
|
35
37
|
s.add_development_dependency "rspec-its"
|
|
36
|
-
s.add_development_dependency "rubocop", '~> 0.56.0'
|
|
37
|
-
s.add_development_dependency "rubocop-rspec", '~> 1.12.0'
|
|
38
38
|
s.add_development_dependency "simplecov", '~> 0.8'
|
|
39
|
-
s.add_development_dependency "solr_wrapper", "~>
|
|
39
|
+
s.add_development_dependency "solr_wrapper", "~> 4.0"
|
|
40
40
|
s.add_development_dependency "yard"
|
|
41
41
|
|
|
42
42
|
s.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR).select { |f| File.dirname(f) !~ %r{\A"?spec\/?} }
|
|
43
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
43
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
|
44
44
|
s.extra_rdoc_files = [
|
|
45
45
|
"LICENSE",
|
|
46
46
|
"README.md"
|
|
@@ -11,11 +11,11 @@ module ActiveFedora
|
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
def [](name)
|
|
14
|
-
association(name)
|
|
14
|
+
association(name)&.reader
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def []=(name, object)
|
|
18
|
-
association(name)
|
|
18
|
+
association(name)&.writer(object)
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
def association(name)
|
|
@@ -84,6 +84,7 @@ module ActiveFedora
|
|
|
84
84
|
super
|
|
85
85
|
end
|
|
86
86
|
end
|
|
87
|
+
|
|
87
88
|
##
|
|
88
89
|
# Represents the result of merging two association hashes.
|
|
89
90
|
# @note As the keys can come from multiple models, the attributes become
|
|
@@ -91,11 +92,13 @@ module ActiveFedora
|
|
|
91
92
|
class Merged < AssociationHash
|
|
92
93
|
attr_reader :first, :second
|
|
93
94
|
|
|
95
|
+
# rubocop:disable Lint/MissingSuper
|
|
94
96
|
def initialize(first, second)
|
|
95
97
|
@first = first
|
|
96
98
|
@base = first.base
|
|
97
99
|
@second = second
|
|
98
100
|
end
|
|
101
|
+
# rubocop:enable Lint/MissingSuper
|
|
99
102
|
|
|
100
103
|
def [](name)
|
|
101
104
|
first[name] || second[name]
|
|
@@ -119,7 +119,7 @@ module ActiveFedora
|
|
|
119
119
|
reset
|
|
120
120
|
end
|
|
121
121
|
|
|
122
|
-
def initialize_attributes(record, except_from_scope_attributes = nil)
|
|
122
|
+
def initialize_attributes(record, except_from_scope_attributes = nil) # :nodoc:
|
|
123
123
|
except_from_scope_attributes ||= {}
|
|
124
124
|
skip_assign = [reflection.foreign_key].compact
|
|
125
125
|
assigned_keys = record.changed
|
|
@@ -141,9 +141,7 @@ module ActiveFedora
|
|
|
141
141
|
if (reflection.has_one? || reflection.collection?) && !options[:through]
|
|
142
142
|
attributes[reflection.foreign_key] = owner[reflection.active_record_primary_key]
|
|
143
143
|
|
|
144
|
-
if reflection.options[:as]
|
|
145
|
-
attributes[reflection.type] = owner.class.base_class.name
|
|
146
|
-
end
|
|
144
|
+
attributes[reflection.type] = owner.class.base_class.name if reflection.options[:as]
|
|
147
145
|
end
|
|
148
146
|
|
|
149
147
|
attributes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
module ActiveFedora
|
|
2
2
|
module Associations
|
|
3
|
-
class BasicContainsAssociation < ContainsAssociation
|
|
3
|
+
class BasicContainsAssociation < ContainsAssociation # :nodoc:
|
|
4
4
|
def find_target
|
|
5
|
-
uris = owner.resource.query(predicate: options[:predicate])
|
|
5
|
+
uris = owner.resource.query({ predicate: options[:predicate] })
|
|
6
6
|
.map { |r| r.object.to_s }
|
|
7
7
|
|
|
8
8
|
uris.map { |object_uri| klass.find(klass.uri_to_id(object_uri)) }
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module ActiveFedora::Associations::Builder
|
|
2
|
-
class Association
|
|
2
|
+
class Association # :nodoc:
|
|
3
3
|
class << self
|
|
4
4
|
attr_accessor :extensions
|
|
5
5
|
end
|
|
@@ -36,7 +36,7 @@ module ActiveFedora::Associations::Builder
|
|
|
36
36
|
def self.build_scope(scope, extension)
|
|
37
37
|
new_scope = scope
|
|
38
38
|
|
|
39
|
-
new_scope = proc { instance_exec(&scope) } if scope
|
|
39
|
+
new_scope = proc { instance_exec(&scope) } if scope&.arity&.zero?
|
|
40
40
|
|
|
41
41
|
new_scope = wrap_scope new_scope, extension if extension
|
|
42
42
|
|
|
@@ -114,9 +114,7 @@ module ActiveFedora::Associations::Builder
|
|
|
114
114
|
end
|
|
115
115
|
|
|
116
116
|
def self.check_dependent_options(dependent)
|
|
117
|
-
unless valid_dependent_options.include? dependent
|
|
118
|
-
raise ArgumentError, "The :dependent option must be one of #{valid_dependent_options}, but is :#{dependent}"
|
|
119
|
-
end
|
|
117
|
+
raise ArgumentError, "The :dependent option must be one of #{valid_dependent_options}, but is :#{dependent}" unless valid_dependent_options.include? dependent
|
|
120
118
|
end
|
|
121
119
|
|
|
122
120
|
def self.add_destroy_callbacks(model, reflection)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module ActiveFedora::Associations::Builder
|
|
2
|
-
class BelongsTo < SingularAssociation
|
|
2
|
+
class BelongsTo < SingularAssociation # :nodoc:
|
|
3
3
|
def self.macro
|
|
4
4
|
:belongs_to
|
|
5
5
|
end
|
|
@@ -19,9 +19,7 @@ module ActiveFedora::Associations::Builder
|
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
def self.define_validations(model, reflection)
|
|
22
|
-
if reflection.options.key?(:required)
|
|
23
|
-
reflection.options[:optional] = !reflection.options.delete(:required)
|
|
24
|
-
end
|
|
22
|
+
reflection.options[:optional] = !reflection.options.delete(:required) if reflection.options.key?(:required)
|
|
25
23
|
|
|
26
24
|
required = if reflection.options[:optional].nil?
|
|
27
25
|
model.belongs_to_required_by_default
|
|
@@ -31,9 +29,7 @@ module ActiveFedora::Associations::Builder
|
|
|
31
29
|
|
|
32
30
|
super
|
|
33
31
|
|
|
34
|
-
if required
|
|
35
|
-
model.validates_presence_of reflection.name, message: :required
|
|
36
|
-
end
|
|
32
|
+
model.validates_presence_of reflection.name, message: :required if required
|
|
37
33
|
end
|
|
38
34
|
end
|
|
39
35
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require 'active_fedora/associations'
|
|
2
2
|
module ActiveFedora::Associations::Builder
|
|
3
|
-
class CollectionAssociation < Association
|
|
3
|
+
class CollectionAssociation < Association # :nodoc:
|
|
4
4
|
CALLBACKS = [:before_add, :after_add, :before_remove, :after_remove].freeze
|
|
5
5
|
|
|
6
6
|
def self.valid_options(options)
|
|
@@ -15,11 +15,11 @@ module ActiveFedora::Associations::Builder
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def self.define_extensions(model, name)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
return unless block_given?
|
|
19
|
+
|
|
20
|
+
extension_module_name = "#{model.name.demodulize}#{name.to_s.camelize}AssociationExtension"
|
|
21
|
+
extension = Module.new(&Proc.new)
|
|
22
|
+
model.parent.const_set(extension_module_name, extension)
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
def self.define_callback(model, callback_name, name, options)
|
|
@@ -44,7 +44,7 @@ module ActiveFedora::Associations::Builder
|
|
|
44
44
|
|
|
45
45
|
def self.wrap_scope(scope, mod)
|
|
46
46
|
if scope
|
|
47
|
-
if scope.arity
|
|
47
|
+
if scope.arity.positive?
|
|
48
48
|
proc { |owner| instance_exec(owner, &scope).extending(mod) }
|
|
49
49
|
else
|
|
50
50
|
proc { instance_exec(&scope).extending(mod) }
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module ActiveFedora::Associations::Builder
|
|
2
|
-
class DirectlyContains < CollectionAssociation
|
|
2
|
+
class DirectlyContains < CollectionAssociation # :nodoc:
|
|
3
3
|
def self.macro
|
|
4
4
|
:directly_contains
|
|
5
5
|
end
|
|
@@ -10,11 +10,9 @@ module ActiveFedora::Associations::Builder
|
|
|
10
10
|
|
|
11
11
|
def self.validate_options(options)
|
|
12
12
|
super
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
raise ArgumentError, "Predicate must be a kind of RDF::URI"
|
|
17
|
-
end
|
|
13
|
+
|
|
14
|
+
raise ArgumentError, "You must specify a :has_member_relation or :is_member_of_relation predicate for #{name}" if !options[:has_member_relation] && !options[:is_member_of_relation]
|
|
15
|
+
raise ArgumentError, "Predicate must be a kind of RDF::URI" if !options[:has_member_relation].is_a?(RDF::URI) && !options[:is_member_of_relation].is_a?(RDF::URI)
|
|
18
16
|
end
|
|
19
17
|
end
|
|
20
18
|
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module ActiveFedora::Associations::Builder
|
|
2
|
-
class DirectlyContainsOne < SingularAssociation
|
|
2
|
+
class DirectlyContainsOne < SingularAssociation # :nodoc:
|
|
3
3
|
def self.macro
|
|
4
4
|
:directly_contains_one
|
|
5
5
|
end
|
|
@@ -9,15 +9,13 @@ module ActiveFedora::Associations::Builder
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
def self.create_reflection(model, name, scope, options, extension = nil)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
else
|
|
15
|
-
raise ArgumentError, "you must specify a :through option on #{name}. #{name} will use the container from that directly_contains association."
|
|
16
|
-
end
|
|
12
|
+
raise ArgumentError, "you must specify a :through option on #{name}. #{name} will use the container from that directly_contains association." unless options[:through]
|
|
13
|
+
inherit_options_from_association(model, options, options[:through])
|
|
17
14
|
|
|
18
15
|
super
|
|
19
16
|
end
|
|
20
17
|
|
|
18
|
+
# rubocop:disable Style/GuardClause
|
|
21
19
|
def self.validate_options(options)
|
|
22
20
|
super
|
|
23
21
|
if options[:class_name] == "ActiveFedora::File"
|
|
@@ -31,6 +29,7 @@ module ActiveFedora::Associations::Builder
|
|
|
31
29
|
return if options[:type].is_a?(RDF::URI)
|
|
32
30
|
raise ArgumentError, "You must specify a Type and it must be a kind of RDF::URI"
|
|
33
31
|
end
|
|
32
|
+
# rubocop:enable Style/GuardClause
|
|
34
33
|
|
|
35
34
|
# Inherits :has_member_relation from the association corresponding to association_name
|
|
36
35
|
# @param [Symbol] association_name of the association to inherit from
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module ActiveFedora::Associations::Builder
|
|
2
|
-
class IndirectlyContains < CollectionAssociation
|
|
2
|
+
class IndirectlyContains < CollectionAssociation # :nodoc:
|
|
3
3
|
def self.macro
|
|
4
4
|
:indirectly_contains
|
|
5
5
|
end
|
|
@@ -18,12 +18,9 @@ module ActiveFedora::Associations::Builder
|
|
|
18
18
|
|
|
19
19
|
def self.validate_options(options)
|
|
20
20
|
super
|
|
21
|
-
if !options[:has_member_relation] && !options[:is_member_of_relation]
|
|
22
|
-
raise ArgumentError, "You must specify a predicate for #{name}"
|
|
23
|
-
elsif !options[:has_member_relation].is_a?(RDF::URI) && !options[:is_member_of_relation].is_a?(RDF::URI)
|
|
24
|
-
raise ArgumentError, "Predicate must be a kind of RDF::URI"
|
|
25
|
-
end
|
|
26
21
|
|
|
22
|
+
raise ArgumentError, "You must specify a predicate for #{name}" if !options[:has_member_relation] && !options[:is_member_of_relation]
|
|
23
|
+
raise ArgumentError, "Predicate must be a kind of RDF::URI" if !options[:has_member_relation].is_a?(RDF::URI) && !options[:is_member_of_relation].is_a?(RDF::URI)
|
|
27
24
|
raise ArgumentError, "Missing :through option" unless options[:through]
|
|
28
25
|
raise ArgumentError, "Missing :foreign_key option" unless options[:foreign_key]
|
|
29
26
|
end
|