active-fedora 11.0.0.rc2 → 11.0.0.rc3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/active_fedora/associations/has_subresource_association.rb +2 -2
- data/lib/active_fedora/attribute_assignment.rb +0 -1
- data/lib/active_fedora/containers/container.rb +1 -1
- data/lib/active_fedora/core.rb +4 -18
- data/lib/active_fedora/file.rb +1 -1
- data/lib/active_fedora/version.rb +1 -1
- data/spec/integration/eradicate_spec.rb +1 -1
- data/spec/integration/ntriples_datastream_spec.rb +1 -1
- data/spec/integration/query_result_builder_spec.rb +8 -20
- data/spec/unit/base_spec.rb +1 -9
- data/spec/unit/has_and_belongs_to_many_association_spec.rb +2 -1
- data/spec/unit/has_many_association_spec.rb +2 -2
- data/spec/unit/orders/list_node_spec.rb +1 -1
- data/spec/unit/query_spec.rb +4 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91cff7660db1a97bf4fd92375d6f2b541e94ee17
|
4
|
+
data.tar.gz: 736b7165e630f80196850c4c0c8128bae538ada1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17b5eaec5db6609a76cc0d0f0dfbcdf27c0a704556f210f6fe3b90f60b6b99037513ab96ef8beccb241c8afef10edafee26bf079dff920abf7a388f0ecafc0f7
|
7
|
+
data.tar.gz: 8a7956065d01ec69e5093a447661c2bee8d443eb9385a37bb8140b21288bf41e8812118bb86981ca319acf7a7505a9e50b564ed844447224f61d2881edd5f561
|
@@ -25,12 +25,12 @@ module ActiveFedora
|
|
25
25
|
|
26
26
|
def find_or_initialize_target(&block)
|
27
27
|
if reflection.klass < ActiveFedora::File
|
28
|
-
reflection.build_association(target_uri, &block)
|
28
|
+
reflection.build_association(id: target_uri, &block)
|
29
29
|
else
|
30
30
|
reflection.klass.find(target_uri)
|
31
31
|
end
|
32
32
|
rescue ActiveFedora::ObjectNotFoundError
|
33
|
-
reflection.build_association(target_uri, &block)
|
33
|
+
reflection.build_association(id: target_uri, &block)
|
34
34
|
end
|
35
35
|
|
36
36
|
def replace(record)
|
data/lib/active_fedora/core.rb
CHANGED
@@ -22,14 +22,14 @@ module ActiveFedora
|
|
22
22
|
# Also, if +attrs+ does not contain +:id+ but does contain +:namespace+ it will pass the
|
23
23
|
# +:namespace+ value to Fedora::Repository.nextid to generate the next id available within
|
24
24
|
# the given namespace.
|
25
|
-
def initialize(
|
25
|
+
def initialize(attributes = nil, &_block)
|
26
26
|
init_internals
|
27
|
-
|
28
|
-
@ldp_source = build_ldp_resource(
|
27
|
+
id = attributes && (attributes.delete(:id) || attributes.delete('id'))
|
28
|
+
@ldp_source = build_ldp_resource(id)
|
29
29
|
raise IllegalOperation, "Attempting to recreate existing ldp_source: `#{ldp_source.subject}'" unless ldp_source.new?
|
30
|
+
assign_attributes(attributes) if attributes
|
30
31
|
assert_content_model
|
31
32
|
load_attached_files
|
32
|
-
assign_attributes(attributes) if attributes
|
33
33
|
|
34
34
|
yield self if block_given?
|
35
35
|
_run_initialize_callbacks
|
@@ -144,19 +144,5 @@ module ActiveFedora
|
|
144
144
|
raise ActiveFedora::ObjectNotFoundError, "Can't reload an object that hasn't been saved"
|
145
145
|
end
|
146
146
|
end
|
147
|
-
|
148
|
-
def initialize_attributes(attributes_or_id)
|
149
|
-
case attributes_or_id
|
150
|
-
when String
|
151
|
-
attributes = { id: attributes_or_id }.with_indifferent_access
|
152
|
-
when Hash
|
153
|
-
attributes = attributes_or_id.with_indifferent_access
|
154
|
-
when NilClass
|
155
|
-
attributes = {}.with_indifferent_access
|
156
|
-
else
|
157
|
-
raise ArgumentError, "#{attributes_or_id.class} is not acceptable"
|
158
|
-
end
|
159
|
-
attributes
|
160
|
-
end
|
161
147
|
end
|
162
148
|
end
|
data/lib/active_fedora/file.rb
CHANGED
@@ -30,7 +30,7 @@ module ActiveFedora
|
|
30
30
|
# @yield [self] Yields self
|
31
31
|
# @yieldparam [File] self the newly created file
|
32
32
|
def initialize(identifier = nil, &_block)
|
33
|
-
identifier =
|
33
|
+
identifier = identifier.delete(:id) if identifier.is_a? Hash
|
34
34
|
run_callbacks(:initialize) do
|
35
35
|
case identifier
|
36
36
|
when nil, ::RDF::URI
|
@@ -19,7 +19,7 @@ describe ActiveFedora::Base do
|
|
19
19
|
end
|
20
20
|
context "in a typical sitation" do
|
21
21
|
specify "it cannot be reused" do
|
22
|
-
expect { described_class.create(ghost) }.to raise_error(Ldp::Gone)
|
22
|
+
expect { described_class.create(id: ghost) }.to raise_error(Ldp::Gone)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
specify "remove its tombstone" do
|
@@ -2,35 +2,23 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe ActiveFedora::QueryResultBuilder do
|
4
4
|
describe "#reify_solr_results" do
|
5
|
-
before
|
5
|
+
before do
|
6
6
|
class FooObject < ActiveFedora::Base
|
7
7
|
def self.id_namespace
|
8
8
|
"foo"
|
9
9
|
end
|
10
|
-
|
11
|
-
has_subresource :descMetadata, class_name: 'ActiveFedora::QualifiedDublinCoreDatastream'
|
12
10
|
end
|
13
|
-
@test_object = ActiveFedora::Base.new
|
14
|
-
@foo_object = FooObject.new
|
15
|
-
attributes = { "language" => { 0 => "Italian" },
|
16
|
-
"creator" => { 0 => "Linguist, A." },
|
17
|
-
"geography" => { 0 => "Italy" },
|
18
|
-
"title" => { 0 => "Italian and Spanish: A Comparison of Common Phrases" } }
|
19
|
-
@foo_object.descMetadata.update_indexed_attributes(attributes)
|
20
|
-
@test_object.save
|
21
|
-
@foo_object.save
|
22
|
-
@profiles = {
|
23
|
-
# 'test' => @test_object.profile,
|
24
|
-
# 'foo' => @foo_object.profile,
|
25
|
-
# 'foo_descMetadata' => @foo_object.datastreams['descMetadata'].profile
|
26
|
-
}
|
27
|
-
@foo_content = @foo_object.attached_files['descMetadata'].content
|
28
11
|
end
|
12
|
+
|
13
|
+
let(:test_object) { ActiveFedora::Base.create }
|
14
|
+
let(:foo_object) { FooObject.create }
|
15
|
+
|
29
16
|
after(:each) do
|
30
17
|
Object.send(:remove_const, :FooObject)
|
31
18
|
end
|
19
|
+
|
32
20
|
it "returns an array of objects that are of the class stored in active_fedora_model_s" do
|
33
|
-
query = ActiveFedora::SolrQueryBuilder.construct_query_for_ids([
|
21
|
+
query = ActiveFedora::SolrQueryBuilder.construct_query_for_ids([test_object.id, foo_object.id])
|
34
22
|
solr_result = ActiveFedora::SolrService.query(query)
|
35
23
|
result = described_class.reify_solr_results(solr_result)
|
36
24
|
expect(result.length).to eq 2
|
@@ -40,7 +28,7 @@ describe ActiveFedora::QueryResultBuilder do
|
|
40
28
|
end
|
41
29
|
|
42
30
|
it '#reifies a lightweight object as a new instance' do
|
43
|
-
query = ActiveFedora::SolrQueryBuilder.construct_query_for_ids([
|
31
|
+
query = ActiveFedora::SolrQueryBuilder.construct_query_for_ids([foo_object.id])
|
44
32
|
solr_result = ActiveFedora::SolrService.query(query)
|
45
33
|
result = described_class.reify_solr_results(solr_result, load_from_solr: true)
|
46
34
|
expect(result.first).to be_instance_of FooObject
|
data/spec/unit/base_spec.rb
CHANGED
@@ -133,21 +133,13 @@ describe ActiveFedora::Base do
|
|
133
133
|
before do
|
134
134
|
allow_any_instance_of(FooHistory).to receive(:assign_id).and_return(@this_id)
|
135
135
|
end
|
136
|
+
|
136
137
|
context "with no arguments" do
|
137
138
|
it "does not get an id on init" do
|
138
139
|
expect(FooHistory.new.id).to be_nil
|
139
140
|
end
|
140
141
|
end
|
141
142
|
|
142
|
-
context "with an id argument" do
|
143
|
-
it "is able to create with a custom id" do
|
144
|
-
expect(FooHistory).to receive(:id_to_uri).and_call_original
|
145
|
-
f = FooHistory.new('baz_1')
|
146
|
-
expect(f.id).to eq 'baz_1'
|
147
|
-
expect(f.id).to eq 'baz_1'
|
148
|
-
end
|
149
|
-
end
|
150
|
-
|
151
143
|
context "with a hash argument" do
|
152
144
|
context "that has an id" do
|
153
145
|
it "is able to create with a custom id" do
|
@@ -18,7 +18,8 @@ describe ActiveFedora::Associations::HasAndBelongsToManyAssociation do
|
|
18
18
|
Object.send(:remove_const, :Book)
|
19
19
|
Object.send(:remove_const, :Page)
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
|
+
subject(:book) { Book.new(id: 'subject-a') }
|
22
23
|
|
23
24
|
context "a one way relationship " do
|
24
25
|
describe "adding memeber" do
|
@@ -12,8 +12,8 @@ describe ActiveFedora::Associations::HasManyAssociation do
|
|
12
12
|
Object.send(:remove_const, :Book)
|
13
13
|
Object.send(:remove_const, :Page)
|
14
14
|
end
|
15
|
-
let(:book) { Book.new('subject-a') }
|
16
|
-
let(:page) { Page.new('object-b') }
|
15
|
+
let(:book) { Book.new(id: 'subject-a') }
|
16
|
+
let(:page) { Page.new(id: 'object-b') }
|
17
17
|
|
18
18
|
describe "setting the foreign key" do
|
19
19
|
before do
|
@@ -35,7 +35,7 @@ RSpec.describe ActiveFedora::Orders::ListNode do
|
|
35
35
|
end
|
36
36
|
context "and it doesn't exist" do
|
37
37
|
it "returns an AT::Resource" do
|
38
|
-
member = Member.new("testing")
|
38
|
+
member = Member.new(id: "testing")
|
39
39
|
graph << [rdf_subject, RDF::Vocab::ORE.proxyFor, member.resource.rdf_subject]
|
40
40
|
expect(list_node.target.rdf_subject).to eq member.uri
|
41
41
|
end
|
data/spec/unit/query_spec.rb
CHANGED
@@ -128,9 +128,9 @@ describe ActiveFedora::Base do
|
|
128
128
|
.and_return('response' => { 'docs' => mock_docs })
|
129
129
|
|
130
130
|
allow(relation).to receive(:load_from_fedora).with("changeme-30", nil)
|
131
|
-
.and_return(SpecModel::Basic.new('changeme-30'))
|
131
|
+
.and_return(SpecModel::Basic.new(id: 'changeme-30'))
|
132
132
|
allow(relation).to receive(:load_from_fedora).with("changeme-22", nil)
|
133
|
-
.and_return(SpecModel::Basic.new('changeme-22'))
|
133
|
+
.and_return(SpecModel::Basic.new(id: 'changeme-22'))
|
134
134
|
SpecModel::Basic.find_each { |obj| obj.class == SpecModel::Basic }
|
135
135
|
end
|
136
136
|
|
@@ -144,8 +144,8 @@ describe ActiveFedora::Base do
|
|
144
144
|
let(:mock_docs) { [{ "id" => "changeme-30" }, { "id" => "changeme-22" }] }
|
145
145
|
|
146
146
|
it "filters by the provided fields" do
|
147
|
-
expect(relation).to receive(:load_from_fedora).with("changeme-30", nil).and_return(SpecModel::Basic.new('changeme-30'))
|
148
|
-
expect(relation).to receive(:load_from_fedora).with("changeme-22", nil).and_return(SpecModel::Basic.new('changeme-22'))
|
147
|
+
expect(relation).to receive(:load_from_fedora).with("changeme-30", nil).and_return(SpecModel::Basic.new(id: 'changeme-30'))
|
148
|
+
expect(relation).to receive(:load_from_fedora).with("changeme-22", nil).and_return(SpecModel::Basic.new(id: 'changeme-22'))
|
149
149
|
|
150
150
|
expect(mock_docs).to receive(:has_next?).and_return(false)
|
151
151
|
expect(solr).to receive(:paginate).with(1, 1000, 'select', expected_params).and_return('response' => { 'docs' => mock_docs })
|
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: 11.0.0.
|
4
|
+
version: 11.0.0.rc3
|
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-08-
|
13
|
+
date: 2016-08-10 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rsolr
|