active-fedora 9.0.0.beta4 → 9.0.0.beta5
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/lib/active_fedora/rdf/indexing.rb +7 -4
- data/lib/active_fedora/version.rb +1 -1
- data/spec/unit/base_spec.rb +0 -33
- data/spec/unit/indexing_spec.rb +52 -0
- 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: 17554700da06c7fc155b4336f11cc269e1114d42
|
4
|
+
data.tar.gz: 85dc2454b14e8a65334524debae01d56c690c712
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94d352731c92f119bc6b7ec521dcead14a68099588c840874dece0f38c27e47b29e45ee063bd010df1bf7624161b302b57d958ee29c7c66ec241eef8a8b4b7ce
|
7
|
+
data.tar.gz: 3cdf222ffa305dc0f452ddbfb8008a8a628ec7a222f969c52f043fd3ffc4506042a4c84f1908065b74c30d190ef1c18f2dae1bf9e0ba8c71197d023e4d68acb3
|
@@ -15,10 +15,13 @@ module ActiveFedora
|
|
15
15
|
fields.each do |field_key, field_info|
|
16
16
|
values = resource.get_values(field_key)
|
17
17
|
Array(values).each do |val|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
val = case val
|
19
|
+
when ::RDF::URI, ActiveTriples::Term
|
20
|
+
val.to_s
|
21
|
+
when ActiveTriples::Resource
|
22
|
+
val.solrize
|
23
|
+
else
|
24
|
+
val
|
22
25
|
end
|
23
26
|
self.class.create_and_insert_terms(apply_prefix(field_key, opts[:name]), val, field_info[:behaviors], solr_doc)
|
24
27
|
end
|
data/spec/unit/base_spec.rb
CHANGED
@@ -254,39 +254,6 @@ describe ActiveFedora::Base do
|
|
254
254
|
end
|
255
255
|
end
|
256
256
|
|
257
|
-
describe ".to_solr" do
|
258
|
-
it "should provide .to_solr" do
|
259
|
-
expect(@test_object).to respond_to(:to_solr)
|
260
|
-
end
|
261
|
-
|
262
|
-
it "should add id, system_create_date, system_modified_date from object attributes" do
|
263
|
-
expect(@test_object).to receive(:create_date).and_return(DateTime.parse("2012-03-04T03:12:02Z")).twice
|
264
|
-
expect(@test_object).to receive(:modified_date).and_return(DateTime.parse("2012-03-07T03:12:02Z")).twice
|
265
|
-
allow(@test_object).to receive(:id).and_return('changeme:123')
|
266
|
-
solr_doc = @test_object.to_solr
|
267
|
-
expect(solr_doc[ActiveFedora::SolrQueryBuilder.solr_name("system_create", :stored_sortable, type: :date)]).to eql("2012-03-04T03:12:02Z")
|
268
|
-
expect(solr_doc[ActiveFedora::SolrQueryBuilder.solr_name("system_modified", :stored_sortable, type: :date)]).to eql("2012-03-07T03:12:02Z")
|
269
|
-
expect(solr_doc[:id]).to eql("changeme:123")
|
270
|
-
end
|
271
|
-
|
272
|
-
it "should add self.class as the :active_fedora_model" do
|
273
|
-
@test_history = FooHistory.new()
|
274
|
-
solr_doc = @test_history.to_solr
|
275
|
-
expect(solr_doc[ActiveFedora::SolrQueryBuilder.solr_name("active_fedora_model", :stored_sortable)]).to eql("FooHistory")
|
276
|
-
end
|
277
|
-
|
278
|
-
it "should call .to_solr on all datastreams, passing the resulting document to solr" do
|
279
|
-
mock1 = double("ds1")
|
280
|
-
expect(mock1).to receive(:to_solr).and_return({})
|
281
|
-
mock2 = double("ds2")
|
282
|
-
expect(mock2).to receive(:to_solr).and_return({})
|
283
|
-
|
284
|
-
allow(@test_object).to receive(:attached_files).and_return(ds1: mock1, ds2: mock2)
|
285
|
-
expect(@test_object.indexing_service).to receive(:solrize_relationships)
|
286
|
-
@test_object.to_solr
|
287
|
-
end
|
288
|
-
end
|
289
|
-
|
290
257
|
describe "update_attributes" do
|
291
258
|
it "should set the attributes and save" do
|
292
259
|
m = FooHistory.new
|
data/spec/unit/indexing_spec.rb
CHANGED
@@ -23,4 +23,56 @@ describe ActiveFedora::Indexing do
|
|
23
23
|
it { should be true }
|
24
24
|
end
|
25
25
|
end
|
26
|
+
|
27
|
+
describe "#to_solr" do
|
28
|
+
before :all do
|
29
|
+
class SpecNode < ActiveFedora::Base
|
30
|
+
property :title, predicate: ::RDF::DC.title do |index|
|
31
|
+
index.as :stored_searchable
|
32
|
+
end
|
33
|
+
property :abstract, predicate: ::RDF::DC.abstract, multiple: false do |index|
|
34
|
+
index.as :stored_sortable
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
after :all do
|
39
|
+
Object.send(:remove_const, :SpecNode)
|
40
|
+
end
|
41
|
+
|
42
|
+
let(:test_object) { SpecNode.new(title: ['first title'], abstract: 'The abstract') }
|
43
|
+
|
44
|
+
subject { test_object.to_solr }
|
45
|
+
|
46
|
+
it "should index the rdf properties" do
|
47
|
+
expect(subject).to include('title_tesim' => ['first title'], 'abstract_ssi' => 'The abstract')
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should add id, system_create_date, system_modified_date from object attributes" do
|
51
|
+
expect(test_object).to receive(:create_date).and_return(DateTime.parse("2012-03-04T03:12:02Z")).twice
|
52
|
+
expect(test_object).to receive(:modified_date).and_return(DateTime.parse("2012-03-07T03:12:02Z")).twice
|
53
|
+
allow(test_object).to receive(:id).and_return('changeme:123')
|
54
|
+
solr_doc = test_object.to_solr
|
55
|
+
expect(solr_doc[ActiveFedora::SolrQueryBuilder.solr_name("system_create", :stored_sortable, type: :date)]).to eql("2012-03-04T03:12:02Z")
|
56
|
+
expect(solr_doc[ActiveFedora::SolrQueryBuilder.solr_name("system_modified", :stored_sortable, type: :date)]).to eql("2012-03-07T03:12:02Z")
|
57
|
+
expect(solr_doc[:id]).to eql("changeme:123")
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should add self.class as the :active_fedora_model" do
|
61
|
+
expect(subject[ActiveFedora::SolrQueryBuilder.solr_name("active_fedora_model", :stored_sortable)]).to eql "SpecNode"
|
62
|
+
end
|
63
|
+
|
64
|
+
context "with attached files" do
|
65
|
+
let(:mock1) { double("ds1") }
|
66
|
+
let(:mock2) { double("ds2") }
|
67
|
+
|
68
|
+
it "should call .to_solr on all datastreams, passing the resulting document to solr" do
|
69
|
+
expect(mock1).to receive(:to_solr).and_return("one" => "title one")
|
70
|
+
expect(mock2).to receive(:to_solr).and_return("two" => "title two")
|
71
|
+
|
72
|
+
allow(test_object).to receive(:attached_files).and_return(ds1: mock1, ds2: mock2)
|
73
|
+
expect(subject).to include('one' => 'title one', 'two' => 'title two')
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
26
78
|
end
|
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.0.0.
|
4
|
+
version: 9.0.0.beta5
|
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: 2014-12-
|
13
|
+
date: 2014-12-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rsolr
|