active-fedora 9.10.4 → 9.11.0
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|