active-fedora 9.10.4 → 9.11.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/.rubocop.yml +3 -0
- data/History.txt +0 -13
- data/lib/active_fedora.rb +7 -0
- data/lib/active_fedora/aggregation.rb +11 -0
- data/lib/active_fedora/aggregation/base_extension.rb +17 -0
- data/lib/active_fedora/aggregation/list_source.rb +103 -0
- data/lib/active_fedora/aggregation/ordered_reader.rb +27 -0
- data/lib/active_fedora/aggregation/proxy.rb +18 -0
- data/lib/active_fedora/associations.rb +40 -0
- data/lib/active_fedora/associations/builder/aggregation.rb +51 -0
- data/lib/active_fedora/associations/builder/filter.rb +18 -0
- data/lib/active_fedora/associations/builder/orders.rb +63 -0
- data/lib/active_fedora/associations/filter_association.rb +71 -0
- data/lib/active_fedora/associations/orders_association.rb +149 -0
- data/lib/active_fedora/attached_files.rb +2 -1
- data/lib/active_fedora/attribute_methods.rb +4 -4
- data/lib/active_fedora/autosave_association.rb +14 -0
- data/lib/active_fedora/base.rb +1 -0
- data/lib/active_fedora/cleaner.rb +1 -1
- data/lib/active_fedora/errors.rb +3 -0
- data/lib/active_fedora/fedora.rb +17 -7
- data/lib/active_fedora/file/streaming.rb +13 -4
- data/lib/active_fedora/orders.rb +12 -0
- data/lib/active_fedora/orders/collection_proxy.rb +8 -0
- data/lib/active_fedora/orders/list_node.rb +161 -0
- data/lib/active_fedora/orders/ordered_list.rb +264 -0
- data/lib/active_fedora/orders/target_proxy.rb +60 -0
- data/lib/active_fedora/reflection.rb +215 -42
- data/lib/active_fedora/validations.rb +1 -1
- data/lib/active_fedora/version.rb +1 -1
- data/lib/generators/active_fedora/config/solr/templates/solr/config/schema.xml +1 -1
- data/solr/config/schema.xml +1 -1
- data/spec/integration/attributes_spec.rb +8 -0
- data/spec/integration/file_spec.rb +22 -0
- data/spec/integration/has_many_associations_spec.rb +23 -0
- data/spec/integration/versionable_spec.rb +6 -6
- data/spec/unit/active_fedora_spec.rb +1 -1
- data/spec/unit/aggregation/list_source_spec.rb +134 -0
- data/spec/unit/aggregation/ordered_reader_spec.rb +43 -0
- data/spec/unit/fedora_spec.rb +1 -1
- data/spec/unit/filter_spec.rb +133 -0
- data/spec/unit/ordered_spec.rb +369 -0
- data/spec/unit/orders/list_node_spec.rb +151 -0
- data/spec/unit/orders/ordered_list_spec.rb +335 -0
- data/spec/unit/orders/reflection_spec.rb +22 -0
- data/spec/unit/reflection_spec.rb +2 -4
- metadata +25 -3
@@ -0,0 +1,335 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe ActiveFedora::Orders::OrderedList do
|
4
|
+
subject { described_class.new(graph, head_uri, tail_uri) }
|
5
|
+
|
6
|
+
let(:graph) { ActiveTriples::Resource.new(RDF::URI("stuff")) }
|
7
|
+
let(:head_uri) { nil }
|
8
|
+
let(:tail_uri) { nil }
|
9
|
+
describe "#last" do
|
10
|
+
context "with no nodes" do
|
11
|
+
it "is nil" do
|
12
|
+
expect(subject.last).to eq nil
|
13
|
+
end
|
14
|
+
end
|
15
|
+
context "with one node" do
|
16
|
+
it "is that node" do
|
17
|
+
member = instance_double(ActiveFedora::Base)
|
18
|
+
subject.append_target member
|
19
|
+
|
20
|
+
expect(subject.last.target).to eq member
|
21
|
+
end
|
22
|
+
end
|
23
|
+
context "with two nodes" do
|
24
|
+
it "is the last node" do
|
25
|
+
member = instance_double(ActiveFedora::Base)
|
26
|
+
member_2 = instance_double(ActiveFedora::Base)
|
27
|
+
subject.append_target member
|
28
|
+
subject.append_target member_2
|
29
|
+
|
30
|
+
expect(subject.last.target).to eq member_2
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe "#order_will_change!" do
|
36
|
+
it "marks it as changed" do
|
37
|
+
expect(subject).not_to be_changed
|
38
|
+
subject.order_will_change!
|
39
|
+
expect(subject).to be_changed
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe "#target_ids" do
|
44
|
+
context "from a graph" do
|
45
|
+
let(:head_uri) { RDF::URI.new("parent#bla") }
|
46
|
+
let(:tail_uri) { RDF::URI.new("parent#bla") }
|
47
|
+
it "returns the IDs without building the object" do
|
48
|
+
node_subject = RDF::URI.new("parent#bla")
|
49
|
+
member_uri = RDF::URI.new(ActiveFedora::Base.translate_id_to_uri.call("member1"))
|
50
|
+
parent_uri = RDF::URI.new("parent")
|
51
|
+
graph << [node_subject, RDF::Vocab::ORE.proxyFor, member_uri]
|
52
|
+
graph << [node_subject, RDF::Vocab::ORE.proxyIn, parent_uri]
|
53
|
+
allow(ActiveFedora::Base).to receive(:from_uri)
|
54
|
+
|
55
|
+
expect(subject.target_ids).to eq ["member1"]
|
56
|
+
expect(ActiveFedora::Base).not_to have_received(:from_uri)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
context "from a built up list" do
|
60
|
+
it "returns the IDs" do
|
61
|
+
member = instance_double(ActiveFedora::Base, id: "member1")
|
62
|
+
subject.append_target member
|
63
|
+
|
64
|
+
expect(subject.target_ids).to eq ["member1"]
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
describe "#proxy_in" do
|
70
|
+
context "when there's one proxy in" do
|
71
|
+
it "returns it" do
|
72
|
+
member = instance_double(ActiveFedora::Base)
|
73
|
+
subject.append_target member, proxy_in: RDF::URI("http://tar.dis")
|
74
|
+
|
75
|
+
expect(subject.proxy_in).to eq RDF::URI("http://tar.dis")
|
76
|
+
end
|
77
|
+
end
|
78
|
+
context "when the proxy in is an AF::Base object" do
|
79
|
+
it "returns the ID" do
|
80
|
+
member = instance_double(ActiveFedora::Base)
|
81
|
+
owner = instance_double(ActiveFedora::Base, id: "member1")
|
82
|
+
subject.append_target member, proxy_in: owner
|
83
|
+
|
84
|
+
expect(subject.proxy_in).to eq "member1"
|
85
|
+
end
|
86
|
+
end
|
87
|
+
context "when there's two proxy ins" do
|
88
|
+
it "returns the first and throws a warning" do
|
89
|
+
member = instance_double(ActiveFedora::Base)
|
90
|
+
subject.append_target member, proxy_in: RDF::URI("http://tar.dis")
|
91
|
+
subject.append_target member, proxy_in: RDF::URI("http://tar.di")
|
92
|
+
ActiveFedora::Base.logger = Logger.new(STDERR)
|
93
|
+
allow(ActiveFedora::Base.logger).to receive(:warn)
|
94
|
+
|
95
|
+
expect(subject.proxy_in).to eq RDF::URI("http://tar.dis")
|
96
|
+
expect(ActiveFedora::Base.logger).to have_received(:warn).with("WARNING: List contains nodes aggregated under different URIs. Returning only the first.")
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
describe "#[]" do
|
102
|
+
context "with no nodes" do
|
103
|
+
it "is always nil" do
|
104
|
+
expect(subject[0]).to eq nil
|
105
|
+
end
|
106
|
+
end
|
107
|
+
context "with two nodes" do
|
108
|
+
let(:member) { instance_double(ActiveFedora::Base) }
|
109
|
+
let(:member_2) { instance_double(ActiveFedora::Base) }
|
110
|
+
before do
|
111
|
+
subject.append_target member
|
112
|
+
subject.append_target member_2
|
113
|
+
end
|
114
|
+
it "can return the first" do
|
115
|
+
expect(subject[0].target).to eq member
|
116
|
+
end
|
117
|
+
it "can return the last" do
|
118
|
+
expect(subject[1].target).to eq member_2
|
119
|
+
end
|
120
|
+
it "returns nil for out of bounds values" do
|
121
|
+
expect(subject[3]).to eq nil
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
describe "#first" do
|
126
|
+
context "with no nodes" do
|
127
|
+
it "is nil" do
|
128
|
+
expect(subject.first).to eq nil
|
129
|
+
end
|
130
|
+
end
|
131
|
+
context "with a node" do
|
132
|
+
it "returns that node" do
|
133
|
+
member = instance_double(ActiveFedora::Base)
|
134
|
+
subject.append_target member
|
135
|
+
expect(subject.first.target).to eq member
|
136
|
+
expect(subject).to be_changed
|
137
|
+
end
|
138
|
+
end
|
139
|
+
context "with an item from the graph" do
|
140
|
+
let(:head_uri) { RDF::URI.new("parent#bla") }
|
141
|
+
let(:tail_uri) { RDF::URI.new("parent#bla") }
|
142
|
+
it "builds the node" do
|
143
|
+
node_subject = RDF::URI.new("parent#bla")
|
144
|
+
member_uri = RDF::URI.new("member1")
|
145
|
+
parent_uri = RDF::URI.new("parent")
|
146
|
+
graph << [node_subject, RDF::Vocab::ORE.proxyFor, member_uri]
|
147
|
+
graph << [node_subject, RDF::Vocab::ORE.proxyIn, parent_uri]
|
148
|
+
expect(subject.first.proxy_for).to eq member_uri
|
149
|
+
expect(subject.first.proxy_for).to be_kind_of RDF::URI
|
150
|
+
expect(subject.first.proxy_in).to eq parent_uri
|
151
|
+
expect(subject.first).not_to eq nil
|
152
|
+
end
|
153
|
+
it "is changed by a delete" do
|
154
|
+
node_subject = RDF::URI.new("parent#bla")
|
155
|
+
member_uri = RDF::URI.new("member1")
|
156
|
+
parent_uri = RDF::URI.new("parent")
|
157
|
+
graph << [node_subject, RDF::Vocab::ORE.proxyFor, member_uri]
|
158
|
+
graph << [node_subject, RDF::Vocab::ORE.proxyIn, parent_uri]
|
159
|
+
|
160
|
+
expect(subject).not_to be_changed
|
161
|
+
subject.delete_at(0)
|
162
|
+
expect(subject).to be_changed
|
163
|
+
end
|
164
|
+
context "with multiple nodes" do
|
165
|
+
let(:tail_uri) { RDF::URI.new("parent#bla2") }
|
166
|
+
it "can build multiple nodes" do
|
167
|
+
node_subject = RDF::URI.new("parent#bla")
|
168
|
+
node_2_subject = RDF::URI.new("parent#bla2")
|
169
|
+
member_uri = RDF::URI.new("member1")
|
170
|
+
parent_uri = RDF::URI.new("parent")
|
171
|
+
graph << [node_subject, RDF::Vocab::ORE.proxyFor, member_uri]
|
172
|
+
graph << [node_subject, RDF::Vocab::ORE.proxyIn, parent_uri]
|
173
|
+
graph << [node_subject, RDF::Vocab::IANA.next, node_2_subject]
|
174
|
+
graph << [node_2_subject, RDF::Vocab::IANA.prev, node_subject]
|
175
|
+
graph << [node_2_subject, RDF::Vocab::ORE.proxyFor, member_uri]
|
176
|
+
graph << [node_2_subject, RDF::Vocab::ORE.proxyIn, parent_uri]
|
177
|
+
expect(subject.length).to eq 2
|
178
|
+
expect(subject.tail.prev.prev).to eq subject.head.next
|
179
|
+
expect(subject.map(&:target).map(&:rdf_subject)).to eq [member_uri, member_uri]
|
180
|
+
expect(subject).not_to be_changed
|
181
|
+
end
|
182
|
+
end
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
186
|
+
describe "#append_target" do
|
187
|
+
it "appends multiple targets" do
|
188
|
+
member = instance_double(ActiveFedora::Base)
|
189
|
+
proxy_in = instance_double(ActiveFedora::Base, uri: RDF::URI("obj1"))
|
190
|
+
600.times do
|
191
|
+
subject.append_target member, proxy_in: proxy_in
|
192
|
+
end
|
193
|
+
expect(subject.length).to eq 600
|
194
|
+
expect(subject.to_a.last.next).not_to eq nil
|
195
|
+
expect(subject.to_a.last.proxy_in).to eq proxy_in
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
describe "#insert_at" do
|
200
|
+
it "can insert in the middle" do
|
201
|
+
member = instance_double(ActiveFedora::Base)
|
202
|
+
member_2 = instance_double(ActiveFedora::Base)
|
203
|
+
3.times do
|
204
|
+
subject.append_target member
|
205
|
+
end
|
206
|
+
|
207
|
+
subject.insert_at(1, member_2)
|
208
|
+
|
209
|
+
expect(subject.to_a.map(&:target)).to eq [member, member_2, member, member]
|
210
|
+
expect(subject).to be_changed
|
211
|
+
end
|
212
|
+
it "can insert at the beginning" do
|
213
|
+
member = instance_double(ActiveFedora::Base)
|
214
|
+
member_2 = instance_double(ActiveFedora::Base)
|
215
|
+
2.times do
|
216
|
+
subject.append_target member
|
217
|
+
end
|
218
|
+
|
219
|
+
subject.insert_at(0, member_2)
|
220
|
+
|
221
|
+
expect(subject.to_a.map(&:target)).to eq [member_2, member, member]
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
225
|
+
describe "#delete_node" do
|
226
|
+
it "can delete a node in the middle" do
|
227
|
+
member = instance_double(ActiveFedora::Base)
|
228
|
+
member_2 = instance_double(ActiveFedora::Base)
|
229
|
+
subject.append_target member
|
230
|
+
subject.append_target member_2
|
231
|
+
subject.append_target member
|
232
|
+
|
233
|
+
subject.delete_node(subject.to_a[1])
|
234
|
+
|
235
|
+
expect(subject.map(&:target)).to eq [member, member]
|
236
|
+
end
|
237
|
+
it "can delete a node at the start" do
|
238
|
+
member = instance_double(ActiveFedora::Base)
|
239
|
+
member_2 = instance_double(ActiveFedora::Base)
|
240
|
+
subject.append_target member_2
|
241
|
+
subject.append_target member
|
242
|
+
subject.append_target member
|
243
|
+
|
244
|
+
subject.delete_node(subject.to_a[0])
|
245
|
+
|
246
|
+
expect(subject.map(&:target)).to eq [member, member]
|
247
|
+
end
|
248
|
+
it "can delete a node at the end" do
|
249
|
+
member = instance_double(ActiveFedora::Base)
|
250
|
+
member_2 = instance_double(ActiveFedora::Base)
|
251
|
+
subject.append_target member
|
252
|
+
subject.append_target member
|
253
|
+
subject.append_target member_2
|
254
|
+
|
255
|
+
subject.delete_node(subject.to_a[2])
|
256
|
+
|
257
|
+
expect(subject.map(&:target)).to eq [member, member]
|
258
|
+
end
|
259
|
+
end
|
260
|
+
|
261
|
+
describe "#delete_at" do
|
262
|
+
it "can delete a node in the middle" do
|
263
|
+
member = instance_double(ActiveFedora::Base)
|
264
|
+
member_2 = instance_double(ActiveFedora::Base)
|
265
|
+
subject.append_target member
|
266
|
+
subject.append_target member_2
|
267
|
+
subject.append_target member
|
268
|
+
|
269
|
+
subject.delete_at(1)
|
270
|
+
|
271
|
+
expect(subject.map(&:target)).to eq [member, member]
|
272
|
+
end
|
273
|
+
it "can delete a node at the start" do
|
274
|
+
member = instance_double(ActiveFedora::Base)
|
275
|
+
member_2 = instance_double(ActiveFedora::Base)
|
276
|
+
subject.append_target member_2
|
277
|
+
subject.append_target member
|
278
|
+
subject.append_target member
|
279
|
+
|
280
|
+
subject.delete_at(0)
|
281
|
+
|
282
|
+
expect(subject.map(&:target)).to eq [member, member]
|
283
|
+
end
|
284
|
+
it "can delete a node at the end" do
|
285
|
+
member = instance_double(ActiveFedora::Base)
|
286
|
+
member_2 = instance_double(ActiveFedora::Base)
|
287
|
+
subject.append_target member
|
288
|
+
subject.append_target member
|
289
|
+
subject.append_target member_2
|
290
|
+
|
291
|
+
subject.delete_at(2)
|
292
|
+
|
293
|
+
expect(subject.map(&:target)).to eq [member, member]
|
294
|
+
end
|
295
|
+
it "does not delete nodes if the loc is out of bounds" do
|
296
|
+
member = instance_double(ActiveFedora::Base)
|
297
|
+
member_2 = instance_double(ActiveFedora::Base)
|
298
|
+
subject.append_target member
|
299
|
+
subject.append_target member
|
300
|
+
subject.append_target member_2
|
301
|
+
|
302
|
+
subject.delete_at(3)
|
303
|
+
subject.delete_at(nil)
|
304
|
+
|
305
|
+
expect(subject.map(&:target)).to eq [member, member, member_2]
|
306
|
+
end
|
307
|
+
end
|
308
|
+
|
309
|
+
describe "#to_graph" do
|
310
|
+
it "creates a good graph" do
|
311
|
+
member = instance_double(ActiveFedora::Base, id: '123/456')
|
312
|
+
owner = instance_double(ActiveFedora::Base, uri: RDF::URI("http://owner.org"))
|
313
|
+
subject.append_target member
|
314
|
+
subject.append_target member, proxy_in: owner
|
315
|
+
|
316
|
+
graph = subject.to_graph
|
317
|
+
|
318
|
+
expect(graph.statements.to_a.length).to eq 5
|
319
|
+
expect(graph.subjects.to_a).to eq subject.to_a.map(&:rdf_subject)
|
320
|
+
expect(graph.query([nil, RDF::Vocab::ORE.proxyFor, nil]).to_a.last.object).to be_kind_of RDF::URI
|
321
|
+
end
|
322
|
+
end
|
323
|
+
|
324
|
+
describe "#changes_committed!" do
|
325
|
+
it "sets changed back to false" do
|
326
|
+
member = instance_double(ActiveFedora::Base, uri: RDF::URI("http://test.org"))
|
327
|
+
subject.append_target member
|
328
|
+
expect(subject).to be_changed
|
329
|
+
|
330
|
+
subject.changes_committed!
|
331
|
+
|
332
|
+
expect(subject).not_to be_changed
|
333
|
+
end
|
334
|
+
end
|
335
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe ActiveFedora::Reflection::OrdersReflection do
|
4
|
+
subject { described_class.new(name, scope, options, active_fedora) }
|
5
|
+
let(:macro) { :orders }
|
6
|
+
let(:name) { "ordered_member_proxies" }
|
7
|
+
let(:options) { {} }
|
8
|
+
let(:scope) { nil }
|
9
|
+
let(:active_fedora) { double("active_fedora") }
|
10
|
+
|
11
|
+
describe "#klass" do
|
12
|
+
it "is a proxy" do
|
13
|
+
expect(subject.klass).to eq ActiveFedora::Orders::ListNode
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "#class_name" do
|
18
|
+
it "is a list node" do
|
19
|
+
expect(subject.class_name).to eq "ActiveFedora::Orders::ListNode"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -5,11 +5,10 @@ describe ActiveFedora::Reflection::AssociationReflection do
|
|
5
5
|
let(:name) { 'dummy' }
|
6
6
|
let(:options) { { inverse_of: :default_permissions } }
|
7
7
|
let(:active_fedora) { double }
|
8
|
-
let(:instance) { described_class.new(macro, name, nil, options, active_fedora) }
|
9
8
|
subject { instance.send :derive_foreign_key }
|
10
9
|
|
11
10
|
context "when a has_many" do
|
12
|
-
let(:
|
11
|
+
let(:instance) { ActiveFedora::Reflection::HasManyReflection.new(name, nil, options, active_fedora) }
|
13
12
|
|
14
13
|
context "and the inverse is a collection association" do
|
15
14
|
let(:inverse) { double(collection?: true) }
|
@@ -30,11 +29,10 @@ describe ActiveFedora::Reflection::AssociationReflection do
|
|
30
29
|
let(:name) { 'dummy' }
|
31
30
|
let(:options) { { as: 'foothing' } }
|
32
31
|
let(:active_fedora) { double }
|
33
|
-
let(:instance) { described_class.new(macro, name, nil, options, active_fedora) }
|
34
32
|
subject { instance.send :automatic_inverse_of }
|
35
33
|
|
36
34
|
context "when a has_many" do
|
37
|
-
let(:
|
35
|
+
let(:instance) { ActiveFedora::Reflection::HasManyReflection.new(name, nil, options, active_fedora) }
|
38
36
|
|
39
37
|
context "and the inverse is a collection association" do
|
40
38
|
it { is_expected.to eq :foothing }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active-fedora
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.
|
4
|
+
version: 9.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Zumwalt
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-04-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rsolr
|
@@ -368,6 +368,11 @@ files:
|
|
368
368
|
- config/solr.yml
|
369
369
|
- lib/active-fedora.rb
|
370
370
|
- lib/active_fedora.rb
|
371
|
+
- lib/active_fedora/aggregation.rb
|
372
|
+
- lib/active_fedora/aggregation/base_extension.rb
|
373
|
+
- lib/active_fedora/aggregation/list_source.rb
|
374
|
+
- lib/active_fedora/aggregation/ordered_reader.rb
|
375
|
+
- lib/active_fedora/aggregation/proxy.rb
|
371
376
|
- lib/active_fedora/association_hash.rb
|
372
377
|
- lib/active_fedora/association_relation.rb
|
373
378
|
- lib/active_fedora/associations.rb
|
@@ -375,15 +380,18 @@ files:
|
|
375
380
|
- lib/active_fedora/associations/association_scope.rb
|
376
381
|
- lib/active_fedora/associations/basic_contains_association.rb
|
377
382
|
- lib/active_fedora/associations/belongs_to_association.rb
|
383
|
+
- lib/active_fedora/associations/builder/aggregation.rb
|
378
384
|
- lib/active_fedora/associations/builder/association.rb
|
379
385
|
- lib/active_fedora/associations/builder/belongs_to.rb
|
380
386
|
- lib/active_fedora/associations/builder/collection_association.rb
|
381
387
|
- lib/active_fedora/associations/builder/contains.rb
|
382
388
|
- lib/active_fedora/associations/builder/directly_contains.rb
|
383
389
|
- lib/active_fedora/associations/builder/directly_contains_one.rb
|
390
|
+
- lib/active_fedora/associations/builder/filter.rb
|
384
391
|
- lib/active_fedora/associations/builder/has_and_belongs_to_many.rb
|
385
392
|
- lib/active_fedora/associations/builder/has_many.rb
|
386
393
|
- lib/active_fedora/associations/builder/indirectly_contains.rb
|
394
|
+
- lib/active_fedora/associations/builder/orders.rb
|
387
395
|
- lib/active_fedora/associations/builder/property.rb
|
388
396
|
- lib/active_fedora/associations/builder/singular_association.rb
|
389
397
|
- lib/active_fedora/associations/builder/singular_property.rb
|
@@ -395,11 +403,13 @@ files:
|
|
395
403
|
- lib/active_fedora/associations/delete_proxy.rb
|
396
404
|
- lib/active_fedora/associations/directly_contains_association.rb
|
397
405
|
- lib/active_fedora/associations/directly_contains_one_association.rb
|
406
|
+
- lib/active_fedora/associations/filter_association.rb
|
398
407
|
- lib/active_fedora/associations/has_and_belongs_to_many_association.rb
|
399
408
|
- lib/active_fedora/associations/has_many_association.rb
|
400
409
|
- lib/active_fedora/associations/id_composite.rb
|
401
410
|
- lib/active_fedora/associations/indirectly_contains_association.rb
|
402
411
|
- lib/active_fedora/associations/null_validator.rb
|
412
|
+
- lib/active_fedora/associations/orders_association.rb
|
403
413
|
- lib/active_fedora/associations/rdf.rb
|
404
414
|
- lib/active_fedora/associations/record_composite.rb
|
405
415
|
- lib/active_fedora/associations/singular_association.rb
|
@@ -474,6 +484,11 @@ files:
|
|
474
484
|
- lib/active_fedora/nom_datastream.rb
|
475
485
|
- lib/active_fedora/null_relation.rb
|
476
486
|
- lib/active_fedora/om_datastream.rb
|
487
|
+
- lib/active_fedora/orders.rb
|
488
|
+
- lib/active_fedora/orders/collection_proxy.rb
|
489
|
+
- lib/active_fedora/orders/list_node.rb
|
490
|
+
- lib/active_fedora/orders/ordered_list.rb
|
491
|
+
- lib/active_fedora/orders/target_proxy.rb
|
477
492
|
- lib/active_fedora/pathing.rb
|
478
493
|
- lib/active_fedora/persistence.rb
|
479
494
|
- lib/active_fedora/predicates.rb
|
@@ -651,6 +666,8 @@ files:
|
|
651
666
|
- spec/spec_helper.rb
|
652
667
|
- spec/support/an_active_model.rb
|
653
668
|
- spec/unit/active_fedora_spec.rb
|
669
|
+
- spec/unit/aggregation/list_source_spec.rb
|
670
|
+
- spec/unit/aggregation/ordered_reader_spec.rb
|
654
671
|
- spec/unit/association_hash_spec.rb
|
655
672
|
- spec/unit/attached_files_spec.rb
|
656
673
|
- spec/unit/attributes_spec.rb
|
@@ -675,6 +692,7 @@ files:
|
|
675
692
|
- spec/unit/file_path_builder_spec.rb
|
676
693
|
- spec/unit/file_spec.rb
|
677
694
|
- spec/unit/files_hash_spec.rb
|
695
|
+
- spec/unit/filter_spec.rb
|
678
696
|
- spec/unit/finder_methods_spec.rb
|
679
697
|
- spec/unit/fixity_service_spec.rb
|
680
698
|
- spec/unit/forbidden_attributes_protection_spec.rb
|
@@ -692,6 +710,10 @@ files:
|
|
692
710
|
- spec/unit/nom_datastream_spec.rb
|
693
711
|
- spec/unit/ntriples_datastream_spec.rb
|
694
712
|
- spec/unit/om_datastream_spec.rb
|
713
|
+
- spec/unit/ordered_spec.rb
|
714
|
+
- spec/unit/orders/list_node_spec.rb
|
715
|
+
- spec/unit/orders/ordered_list_spec.rb
|
716
|
+
- spec/unit/orders/reflection_spec.rb
|
695
717
|
- spec/unit/pathing_spec.rb
|
696
718
|
- spec/unit/persistence_spec.rb
|
697
719
|
- spec/unit/predicates_spec.rb
|
@@ -741,7 +763,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
741
763
|
version: '0'
|
742
764
|
requirements: []
|
743
765
|
rubyforge_project:
|
744
|
-
rubygems_version: 2.5.1
|
766
|
+
rubygems_version: 2.4.5.1
|
745
767
|
signing_key:
|
746
768
|
specification_version: 4
|
747
769
|
summary: A convenience libary for manipulating documents in the Fedora Repository.
|