active-fedora 4.0.0.rc1 → 4.0.0.rc2
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.
- data/Gemfile.lock +2 -11
- data/History.txt +4 -1
- data/active-fedora.gemspec +2 -2
- data/lib/active_fedora/associations/association_collection.rb +1 -1
- data/lib/active_fedora/associations/belongs_to_association.rb +1 -1
- data/lib/active_fedora/associations/has_and_belongs_to_many_association.rb +1 -1
- data/lib/active_fedora/base.rb +10 -6
- data/lib/active_fedora/file_management.rb +1 -1
- data/lib/active_fedora/fixture_loader.rb +1 -1
- data/lib/active_fedora/model.rb +39 -38
- data/lib/active_fedora/nokogiri_datastream.rb +1 -1
- data/lib/active_fedora/persistence.rb +9 -11
- data/lib/active_fedora/predicates.rb +2 -2
- data/lib/active_fedora/rdf_datastream.rb +49 -7
- data/lib/active_fedora/relationships.rb +6 -9
- data/lib/active_fedora/service_definitions.rb +1 -1
- data/lib/active_fedora/solr_service.rb +15 -8
- data/lib/active_fedora/version.rb +1 -1
- data/lib/tasks/active_fedora.rake +3 -5
- data/lib/tasks/active_fedora_dev.rake +2 -1
- data/spec/fixtures/solr_rdf_descMetadata.nt +7 -0
- data/spec/integration/base_file_management_spec.rb +1 -1
- data/spec/integration/base_find_by_fields_spec.rb +16 -14
- data/spec/integration/base_spec.rb +10 -9
- data/spec/integration/datastream_collections_spec.rb +5 -5
- data/spec/integration/datastream_spec.rb +1 -1
- data/spec/integration/full_featured_model_spec.rb +1 -1
- data/spec/integration/model_spec.rb +14 -11
- data/spec/integration/mods_article_integration_spec.rb +2 -2
- data/spec/integration/nokogiri_datastream_spec.rb +1 -1
- data/spec/integration/ntriples_datastream_spec.rb +1 -0
- data/spec/integration/rels_ext_datastream_spec.rb +5 -6
- data/spec/integration/semantic_node_spec.rb +0 -1
- data/spec/integration/solr_service_spec.rb +8 -8
- data/spec/unit/base_extra_spec.rb +47 -7
- data/spec/unit/base_file_management_spec.rb +1 -1
- data/spec/unit/base_spec.rb +44 -15
- data/spec/unit/model_spec.rb +16 -29
- data/spec/unit/ntriples_datastream_spec.rb +152 -1
- data/spec/unit/relationships_spec.rb +16 -18
- data/spec/unit/solr_config_options_spec.rb +1 -3
- data/spec/unit/solr_service_spec.rb +12 -24
- metadata +68 -86
- data/spec/integration/base_loader_spec.rb +0 -40
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe ActiveFedora::NtriplesRDFDatastream do
|
4
|
-
|
5
4
|
describe "an instance with content" do
|
6
5
|
before do
|
7
6
|
class MyDatastream < ActiveFedora::NtriplesRDFDatastream
|
7
|
+
register_vocabularies RDF::DC, RDF::FOAF, RDF::RDFS
|
8
8
|
map_predicates do |map|
|
9
9
|
map.created(:in => RDF::DC)
|
10
10
|
map.title(:in => RDF::DC)
|
@@ -58,6 +58,7 @@ describe ActiveFedora::NtriplesRDFDatastream do
|
|
58
58
|
describe "a new instance" do
|
59
59
|
before do
|
60
60
|
class MyDatastream < ActiveFedora::NtriplesRDFDatastream
|
61
|
+
register_vocabularies RDF::DC
|
61
62
|
map_predicates do |map|
|
62
63
|
map.publisher(:in => RDF::DC)
|
63
64
|
end
|
@@ -70,4 +71,154 @@ describe ActiveFedora::NtriplesRDFDatastream do
|
|
70
71
|
@subject.save
|
71
72
|
end
|
72
73
|
end
|
74
|
+
|
75
|
+
describe "solr integration" do
|
76
|
+
before(:all) do
|
77
|
+
class MyDatastream < ActiveFedora::NtriplesRDFDatastream
|
78
|
+
register_vocabularies RDF::DC, RDF::FOAF, RDF::RDFS
|
79
|
+
map_predicates do |map|
|
80
|
+
map.created(:in => RDF::DC, :type => :date)
|
81
|
+
map.title(:in => RDF::DC, :type => :text)
|
82
|
+
map.publisher(:in => RDF::DC)
|
83
|
+
map.based_near(:in => RDF::FOAF, :type => :text)
|
84
|
+
map.related_url(:to => "seeAlso", :in => RDF::RDFS, :type => :string)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
@subject = MyDatastream.new(@inner_object, 'solr_rdf')
|
88
|
+
@subject.content = File.new('spec/fixtures/solr_rdf_descMetadata.nt').read
|
89
|
+
@subject.stubs(:pid => 'test:1')
|
90
|
+
@subject.stubs(:new? => false)
|
91
|
+
@sample_fields = {:publisher => {:values => ["publisher1"], :type => :string},
|
92
|
+
:based_near => {:values => ["coverage1", "coverage2"], :type => :text},
|
93
|
+
:created => {:values => "fake-date", :type => :date},
|
94
|
+
:title => {:values => "fake-title", :type => :text},
|
95
|
+
:related_url => {:values => "http://example.org/", :type => :string},
|
96
|
+
:empty_field => {:values => []}
|
97
|
+
}
|
98
|
+
@sample_xml = XmlSimple.xml_in("<fields><based_near>coverage1</based_near><based_near>coverage2</based_near><created>fake-date</created><publisher>publisher1</publisher><related_url>http://example.org/</related_url><title>fake-title</title></fields>")
|
99
|
+
end
|
100
|
+
after(:all) do
|
101
|
+
# Revert to default mappings after running tests
|
102
|
+
ActiveFedora::SolrService.load_mappings
|
103
|
+
end
|
104
|
+
it "should provide .to_solr and return a SolrDocument" do
|
105
|
+
@subject.should respond_to(:to_solr)
|
106
|
+
@subject.to_solr.should be_kind_of(Hash)
|
107
|
+
end
|
108
|
+
it "should provide .fields and return a Hash" do
|
109
|
+
@subject.should respond_to(:fields)
|
110
|
+
@subject.fields.should be_kind_of(Hash)
|
111
|
+
end
|
112
|
+
it "should optionally allow you to provide the Solr::Document to add fields to and return that document when done" do
|
113
|
+
doc = Hash.new
|
114
|
+
@subject.to_solr(doc).should == doc
|
115
|
+
end
|
116
|
+
it "should iterate through @fields hash" do
|
117
|
+
@subject.expects(:fields).returns(@sample_fields)
|
118
|
+
solr_doc = @subject.to_solr
|
119
|
+
solr_doc["publisher_t"].should == ["publisher1"]
|
120
|
+
solr_doc["based_near_t"].sort.should == ["coverage1", "coverage2"]
|
121
|
+
solr_doc["created_dt"].should == ["fake-date"]
|
122
|
+
solr_doc["title_t"].should == ["fake-title"]
|
123
|
+
solr_doc["related_url_t"].should == ["http://example.org/"]
|
124
|
+
solr_doc["empty_field_t"].should be_nil
|
125
|
+
end
|
126
|
+
it "should allow multiple values for a single field"
|
127
|
+
it 'should append create keys in format field_name + _ + field_type' do
|
128
|
+
@subject.stubs(:fields).returns(@sample_fields)
|
129
|
+
|
130
|
+
#should have these
|
131
|
+
@subject.to_solr["publisher_t"].should_not be_nil
|
132
|
+
@subject.to_solr["based_near_t"].should_not be_nil
|
133
|
+
@subject.to_solr["created_dt"].should_not be_nil
|
134
|
+
@subject.to_solr["title_t"].should_not be_nil
|
135
|
+
|
136
|
+
#should NOT have these
|
137
|
+
@subject.to_solr["narrator"].should be_nil
|
138
|
+
@subject.to_solr["empty_field"].should be_nil
|
139
|
+
@subject.to_solr["creator"].should be_nil
|
140
|
+
end
|
141
|
+
it "should use Solr mappings to generate field names" do
|
142
|
+
ActiveFedora::SolrService.load_mappings(File.join(File.dirname(__FILE__), "..", "..", "config", "solr_mappings_af_0.1.yml"))
|
143
|
+
@subject.stubs(:fields).returns(@sample_fields)
|
144
|
+
solr_doc = @subject.to_solr
|
145
|
+
|
146
|
+
#should have these
|
147
|
+
solr_doc["publisher_field"].should == ["publisher1"]
|
148
|
+
solr_doc["based_near_field"].sort.should == ["coverage1", "coverage2"]
|
149
|
+
solr_doc["created_date"].should == ["fake-date"]
|
150
|
+
solr_doc["title_field"].should == ["fake-title"]
|
151
|
+
|
152
|
+
solr_doc["title_t"].should be_nil
|
153
|
+
solr_doc["publisher_t"].should be_nil
|
154
|
+
solr_doc["based_near_t"].should be_nil
|
155
|
+
solr_doc["created_dt"].should be_nil
|
156
|
+
|
157
|
+
# Reload default mappings
|
158
|
+
ActiveFedora::SolrService.load_mappings
|
159
|
+
end
|
160
|
+
it 'should append _dt to dates' do
|
161
|
+
ActiveFedora::SolrService.load_mappings
|
162
|
+
@subject.expects(:fields).returns(@sample_fields).at_least_once
|
163
|
+
@subject.to_solr["created_dt"].should_not be_nil
|
164
|
+
|
165
|
+
#should NOT have these
|
166
|
+
@subject.to_solr["created"].should be_nil
|
167
|
+
@subject.to_solr["created_date"].should be_nil
|
168
|
+
end
|
169
|
+
describe "with an actual object" do
|
170
|
+
before(:all) do
|
171
|
+
@obj = MyDatastream.new(@inner_object, 'solr_rdf')
|
172
|
+
@obj.created = "2012-03-04"
|
173
|
+
@obj.title = "Of Mice and Men, The Sequel"
|
174
|
+
@obj.publisher = "Bob's Blogtastic Publishing"
|
175
|
+
@obj.based_near = ["Tacoma, WA", "Renton, WA"]
|
176
|
+
@obj.related_url = "http://example.org/blogtastic/"
|
177
|
+
@obj.save
|
178
|
+
end
|
179
|
+
describe ".fields()" do
|
180
|
+
it "should return the right # of fields" do
|
181
|
+
@obj.fields.keys.count.should == 5
|
182
|
+
end
|
183
|
+
it "should return the right fields" do
|
184
|
+
@obj.fields.keys.should include(:related_url)
|
185
|
+
@obj.fields.keys.should include(:publisher)
|
186
|
+
@obj.fields.keys.should include(:created)
|
187
|
+
@obj.fields.keys.should include(:title)
|
188
|
+
@obj.fields.keys.should include(:based_near)
|
189
|
+
end
|
190
|
+
it "should return the right values" do
|
191
|
+
@obj.fields[:related_url][:values].should == ["http://example.org/blogtastic/"]
|
192
|
+
end
|
193
|
+
it "should return the right type information" do
|
194
|
+
@obj.fields[:created][:type].should == :date
|
195
|
+
end
|
196
|
+
it "should return multi-value fields as expected" do
|
197
|
+
@obj.fields[:based_near][:values].count.should == 2
|
198
|
+
@obj.fields[:based_near][:values].should include("Tacoma, WA")
|
199
|
+
@obj.fields[:based_near][:values].should include("Renton, WA")
|
200
|
+
end
|
201
|
+
end
|
202
|
+
describe ".to_solr()" do
|
203
|
+
it "should return the right # of fields" do
|
204
|
+
@obj.to_solr.keys.count.should == 5
|
205
|
+
end
|
206
|
+
it "should return the right fields" do
|
207
|
+
@obj.to_solr.keys.should include("related_url_t")
|
208
|
+
@obj.to_solr.keys.should include("publisher_t")
|
209
|
+
@obj.to_solr.keys.should include("created_dt")
|
210
|
+
@obj.to_solr.keys.should include("title_t")
|
211
|
+
@obj.to_solr.keys.should include("based_near_t")
|
212
|
+
end
|
213
|
+
it "should return the right values" do
|
214
|
+
@obj.to_solr["related_url_t"].should == ["http://example.org/blogtastic/"]
|
215
|
+
end
|
216
|
+
it "should return multi-value fields as expected" do
|
217
|
+
@obj.to_solr["based_near_t"].count.should == 2
|
218
|
+
@obj.to_solr["based_near_t"].should include("Tacoma, WA")
|
219
|
+
@obj.to_solr["based_near_t"].should include("Renton, WA")
|
220
|
+
end
|
221
|
+
end
|
222
|
+
end
|
223
|
+
end
|
73
224
|
end
|
@@ -11,6 +11,7 @@ describe ActiveFedora::Relationships do
|
|
11
11
|
class SpecNode
|
12
12
|
include ActiveFedora::Relationships
|
13
13
|
include ActiveFedora::SemanticNode
|
14
|
+
include ActiveFedora::Model
|
14
15
|
|
15
16
|
attr_accessor :pid
|
16
17
|
def init_with(inner_obj)
|
@@ -160,16 +161,15 @@ describe ActiveFedora::Relationships do
|
|
160
161
|
local_node.should respond_to(:containers_query)
|
161
162
|
end
|
162
163
|
|
163
|
-
it "resulting finder should search against solr and use Model#
|
164
|
+
it "resulting finder should search against solr and use Model#find to build an array of objects" do
|
164
165
|
@sample_solr_hits = [{"id"=>"_PID1_", "has_model_s"=>["info:fedora/afmodel:AudioRecord"]},
|
165
166
|
{"id"=>"_PID2_", "has_model_s"=>["info:fedora/afmodel:AudioRecord"]},
|
166
167
|
{"id"=>"_PID3_", "has_model_s"=>["info:fedora/afmodel:AudioRecord"]}]
|
167
|
-
solr_result = mock("solr result", :hits => @sample_solr_hits)
|
168
168
|
SpecNode.create_inbound_relationship_finders("parts", :is_part_of, :inbound => true)
|
169
169
|
local_node = SpecNode.new()
|
170
170
|
local_node.expects(:pid).returns("test:sample_pid")
|
171
171
|
SpecNode.expects(:relationships_desc).returns({:inbound=>{"parts"=>{:predicate=>:is_part_of}}}).at_least_once()
|
172
|
-
ActiveFedora::SolrService.
|
172
|
+
ActiveFedora::SolrService.expects(:query).with("is_part_of_s:info\\:fedora/test\\:sample_pid", :rows=>25).returns(@sample_solr_hits)
|
173
173
|
local_node.parts_ids.should == ["_PID1_", "_PID2_", "_PID3_"]
|
174
174
|
end
|
175
175
|
|
@@ -178,11 +178,12 @@ describe ActiveFedora::Relationships do
|
|
178
178
|
SpecNode.create_inbound_relationship_finders("constituents", :is_constituent_of, :inbound => true)
|
179
179
|
local_node = SpecNode.new
|
180
180
|
mock_repo = mock("repo")
|
181
|
-
mock_repo.expects(:
|
181
|
+
mock_repo.expects(:find).never
|
182
182
|
local_node.expects(:pid).returns("test:sample_pid")
|
183
183
|
SpecNode.expects(:relationships_desc).returns({:inbound=>{"constituents"=>{:predicate=>:is_constituent_of}}}).at_least_once()
|
184
|
-
|
185
|
-
|
184
|
+
instance = stub(:conn=>stub(:conn))
|
185
|
+
ActiveFedora::SolrService.expects(:query).with("is_constituent_of_s:info\\:fedora/test\\:sample_pid", :raw=>true, :rows=>101).returns(solr_result)
|
186
|
+
local_node.constituents(:response_format => :solr, :rows=>101).should == solr_result
|
186
187
|
end
|
187
188
|
|
188
189
|
|
@@ -191,7 +192,7 @@ describe ActiveFedora::Relationships do
|
|
191
192
|
local_node = SpecNode.new
|
192
193
|
local_node.expects(:pid).returns("test:sample_pid")
|
193
194
|
SpecNode.expects(:relationships_desc).returns({:inbound=>{"parts"=>{:predicate=>:is_part_of}}}).at_least_once()
|
194
|
-
ActiveFedora::SolrService.
|
195
|
+
ActiveFedora::SolrService.expects(:query).with("is_part_of_s:info\\:fedora/test\\:sample_pid", :rows=>25).returns([Hash["id"=>"pid1"], Hash["id"=>"pid2"]])
|
195
196
|
local_node.parts(:response_format => :id_array).should == ["pid1", "pid2"]
|
196
197
|
end
|
197
198
|
|
@@ -230,18 +231,15 @@ describe ActiveFedora::Relationships do
|
|
230
231
|
end
|
231
232
|
|
232
233
|
describe " resulting finder" do
|
233
|
-
it "should read from relationships array and use Repository.
|
234
|
+
it "should read from relationships array and use Repository.find to build an array of objects" do
|
234
235
|
SpecNode.create_outbound_relationship_finders("containers", :is_member_of)
|
235
236
|
local_node = SpecNode.new
|
236
237
|
local_node.expects(:ids_for_outbound).with(:is_member_of).returns(["my:_PID1_", "my:_PID2_", "my:_PID3_"])
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
[{"id"=> "my:_PID1_", "has_model_s"=>["info:fedora/afmodel:SpecNode"]},
|
238
|
+
|
239
|
+
ActiveFedora::ContentModel.expects(:known_models_for).returns([SpecNode]).times(3)
|
240
|
+
ActiveFedora::SolrService.expects(:query).with("id:my\\:_PID1_ OR id:my\\:_PID2_ OR id:my\\:_PID3_").returns([{"id"=> "my:_PID1_", "has_model_s"=>["info:fedora/afmodel:SpecNode"]},
|
241
241
|
{"id"=> "my:_PID2_", "has_model_s"=>["info:fedora/afmodel:SpecNode"]},
|
242
242
|
{"id"=> "my:_PID3_", "has_model_s"=>["info:fedora/afmodel:SpecNode"]}])
|
243
|
-
|
244
|
-
ActiveFedora::SolrService.instance.conn.expects(:query).with("id:my\\:_PID1_ OR id:my\\:_PID2_ OR id:my\\:_PID3_").returns(solr_result)
|
245
243
|
local_node.containers.map(&:pid).should == ["my:_PID1_", "my:_PID2_", "my:_PID3_"]
|
246
244
|
end
|
247
245
|
|
@@ -250,10 +248,10 @@ describe ActiveFedora::Relationships do
|
|
250
248
|
SpecNode.create_outbound_relationship_finders("constituents", :is_constituent_of)
|
251
249
|
local_node = SpecNode.new
|
252
250
|
mock_repo = mock("repo")
|
253
|
-
mock_repo.expects(:
|
251
|
+
mock_repo.expects(:find).never
|
254
252
|
local_node.expects(:rels_ext).returns(stub('rels-ext', :content=>''))
|
255
|
-
ActiveFedora::SolrService.
|
256
|
-
local_node.constituents(:response_format => :solr).should
|
253
|
+
ActiveFedora::SolrService.expects(:query).returns(solr_result)
|
254
|
+
local_node.constituents(:response_format => :solr).should == solr_result
|
257
255
|
end
|
258
256
|
|
259
257
|
it "(:response_format => :id_array) should read from relationships array" do
|
@@ -319,7 +317,7 @@ describe ActiveFedora::Relationships do
|
|
319
317
|
@local_node.expects(:ids_for_outbound).with(:has_part).returns(["mypid:1"])
|
320
318
|
id_array_query = ActiveFedora::SolrService.construct_query_for_pids(["mypid:1"])
|
321
319
|
solr_result = mock("solr result")
|
322
|
-
ActiveFedora::SolrService.
|
320
|
+
ActiveFedora::SolrService.expects(:query).with("#{id_array_query} OR (is_part_of_s:info\\:fedora/test\\:sample_pid)", :rows=>25).returns(solr_result)
|
323
321
|
@local_node.all_parts(:response_format=>:solr)
|
324
322
|
end
|
325
323
|
|
@@ -50,10 +50,8 @@ describe ActiveFedora do
|
|
50
50
|
end
|
51
51
|
|
52
52
|
it "should be used by ActiveFedora::Base#find_by_solr" do
|
53
|
-
mock_solr = mock("SolrConnection")
|
54
53
|
mock_response = mock("SolrResponse")
|
55
|
-
|
56
|
-
ActiveFedora::SolrService.expects(:instance).returns(mock("SolrService", :conn => mock_solr))
|
54
|
+
ActiveFedora::SolrService.expects(:query).with(SOLR_DOCUMENT_ID + ':changeme\:30', {}).returns(mock_response)
|
57
55
|
|
58
56
|
SolrSpecModel::Basic.find_by_solr("changeme:30").should equal(mock_response)
|
59
57
|
end
|
@@ -11,29 +11,20 @@ describe ActiveFedora::SolrService do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
it "should take a narg constructor and configure for localhost" do
|
14
|
-
|
15
|
-
|
16
|
-
ss = ActiveFedora::SolrService.register
|
14
|
+
RSolr.expects(:connect).with(:url => 'http://localhost:8080/solr')
|
15
|
+
ActiveFedora::SolrService.register
|
17
16
|
end
|
18
17
|
it "should accept host arg into constructor" do
|
19
|
-
|
20
|
-
|
21
|
-
ss = ActiveFedora::SolrService.register('http://fubar')
|
22
|
-
end
|
23
|
-
it "should merge options" do
|
24
|
-
mconn = mock('conn')
|
25
|
-
Solr::Connection.expects(:new).with('http://localhost:8080/solr', {:autocommit=>:on, :foo=>'bar'}).returns(mconn)
|
26
|
-
ss = ActiveFedora::SolrService.register(nil, {:foo=>'bar'})
|
18
|
+
RSolr.expects(:connect).with(:url => 'http://fubar')
|
19
|
+
ActiveFedora::SolrService.register('http://fubar')
|
27
20
|
end
|
28
21
|
it "should clobber options" do
|
29
|
-
|
30
|
-
|
31
|
-
ss = ActiveFedora::SolrService.register(nil, {:autocommit=>:off, :foo=>:bar})
|
22
|
+
RSolr.expects(:connect).with(:url => 'http://localhost:8080/solr', :autocommit=>:off, :foo=>:bar)
|
23
|
+
ActiveFedora::SolrService.register(nil, {:autocommit=>:off, :foo=>:bar})
|
32
24
|
end
|
33
25
|
|
34
26
|
it "should set the threadlocal solr service" do
|
35
|
-
|
36
|
-
Solr::Connection.expects(:new).with('http://localhost:8080/solr', {:autocommit=>:off, :foo=>:bar}).returns(mconn)
|
27
|
+
RSolr.expects(:connect).with(:url => 'http://localhost:8080/solr', :autocommit=>:off, :foo=>:bar)
|
37
28
|
ss = ActiveFedora::SolrService.register(nil, {:autocommit=>:off, :foo=>:bar})
|
38
29
|
Thread.current[:solr_service].should == ss
|
39
30
|
ActiveFedora::SolrService.instance.should == ss
|
@@ -60,14 +51,11 @@ describe ActiveFedora::SolrService do
|
|
60
51
|
{"id"=>"my:_PID2_", "has_model_s"=>["info:fedora/afmodel:AudioRecord"]},
|
61
52
|
{"id"=>"my:_PID3_", "has_model_s"=>["info:fedora/afmodel:AudioRecord"]}]
|
62
53
|
end
|
63
|
-
it "should
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
solr_result = mock("solr result", :is_a? => true)
|
69
|
-
solr_result.expects(:hits).returns(@sample_solr_hits)
|
70
|
-
ActiveFedora::SolrService.reify_solr_results(solr_result).map(&:pid).should == ["my:_PID1_", "my:_PID2_", "my:_PID3_"]
|
54
|
+
it "should use Repository.find to instantiate objects" do
|
55
|
+
AudioRecord.expects(:find).with("my:_PID1_")
|
56
|
+
AudioRecord.expects(:find).with("my:_PID2_")
|
57
|
+
AudioRecord.expects(:find).with("my:_PID3_")
|
58
|
+
ActiveFedora::SolrService.reify_solr_results(@sample_solr_hits)
|
71
59
|
end
|
72
60
|
end
|
73
61
|
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active-fedora
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15424145
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 4
|
8
8
|
- 0
|
9
9
|
- 0
|
10
10
|
- rc
|
11
|
-
-
|
12
|
-
version: 4.0.0.
|
11
|
+
- 2
|
12
|
+
version: 4.0.0.rc2
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Matt Zumwalt
|
@@ -19,26 +19,25 @@ autorequire:
|
|
19
19
|
bindir: bin
|
20
20
|
cert_chain: []
|
21
21
|
|
22
|
-
date: 2012-03-
|
22
|
+
date: 2012-03-06 00:00:00 Z
|
23
23
|
dependencies:
|
24
24
|
- !ruby/object:Gem::Dependency
|
25
|
-
|
25
|
+
prerelease: false
|
26
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
26
27
|
none: false
|
27
28
|
requirements:
|
28
29
|
- - ">="
|
29
30
|
- !ruby/object:Gem::Version
|
30
|
-
hash:
|
31
|
+
hash: 3
|
31
32
|
segments:
|
32
33
|
- 0
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
requirement: *id001
|
37
|
-
name: solr-ruby
|
34
|
+
version: "0"
|
35
|
+
version_requirements: *id001
|
36
|
+
name: rsolr
|
38
37
|
type: :runtime
|
39
|
-
prerelease: false
|
40
38
|
- !ruby/object:Gem::Dependency
|
41
|
-
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
42
41
|
none: false
|
43
42
|
requirements:
|
44
43
|
- - ">="
|
@@ -49,12 +48,12 @@ dependencies:
|
|
49
48
|
- 0
|
50
49
|
- 12
|
51
50
|
version: 1.0.12
|
52
|
-
|
51
|
+
version_requirements: *id002
|
53
52
|
name: xml-simple
|
54
53
|
type: :runtime
|
55
|
-
prerelease: false
|
56
54
|
- !ruby/object:Gem::Dependency
|
57
|
-
|
55
|
+
prerelease: false
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
58
57
|
none: false
|
59
58
|
requirements:
|
60
59
|
- - ">="
|
@@ -64,12 +63,12 @@ dependencies:
|
|
64
63
|
- 1
|
65
64
|
- 16
|
66
65
|
version: "1.16"
|
67
|
-
|
66
|
+
version_requirements: *id003
|
68
67
|
name: mime-types
|
69
68
|
type: :runtime
|
70
|
-
prerelease: false
|
71
69
|
- !ruby/object:Gem::Dependency
|
72
|
-
|
70
|
+
prerelease: false
|
71
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
73
72
|
none: false
|
74
73
|
requirements:
|
75
74
|
- - "="
|
@@ -80,12 +79,12 @@ dependencies:
|
|
80
79
|
- 1
|
81
80
|
- 2
|
82
81
|
version: 1.1.2
|
83
|
-
|
82
|
+
version_requirements: *id004
|
84
83
|
name: multipart-post
|
85
84
|
type: :runtime
|
86
|
-
prerelease: false
|
87
85
|
- !ruby/object:Gem::Dependency
|
88
|
-
|
86
|
+
prerelease: false
|
87
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
89
88
|
none: false
|
90
89
|
requirements:
|
91
90
|
- - ">="
|
@@ -94,12 +93,12 @@ dependencies:
|
|
94
93
|
segments:
|
95
94
|
- 0
|
96
95
|
version: "0"
|
97
|
-
|
96
|
+
version_requirements: *id005
|
98
97
|
name: nokogiri
|
99
98
|
type: :runtime
|
100
|
-
prerelease: false
|
101
99
|
- !ruby/object:Gem::Dependency
|
102
|
-
|
100
|
+
prerelease: false
|
101
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
103
102
|
none: false
|
104
103
|
requirements:
|
105
104
|
- - ">="
|
@@ -110,12 +109,12 @@ dependencies:
|
|
110
109
|
- 5
|
111
110
|
- 3
|
112
111
|
version: 1.5.3
|
113
|
-
|
112
|
+
version_requirements: *id006
|
114
113
|
name: om
|
115
114
|
type: :runtime
|
116
|
-
prerelease: false
|
117
115
|
- !ruby/object:Gem::Dependency
|
118
|
-
|
116
|
+
prerelease: false
|
117
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
119
118
|
none: false
|
120
119
|
requirements:
|
121
120
|
- - ~>
|
@@ -126,12 +125,12 @@ dependencies:
|
|
126
125
|
- 2
|
127
126
|
- 0
|
128
127
|
version: 1.2.0
|
129
|
-
|
128
|
+
version_requirements: *id007
|
130
129
|
name: solrizer
|
131
130
|
type: :runtime
|
132
|
-
prerelease: false
|
133
131
|
- !ruby/object:Gem::Dependency
|
134
|
-
|
132
|
+
prerelease: false
|
133
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
135
134
|
none: false
|
136
135
|
requirements:
|
137
136
|
- - ">="
|
@@ -142,12 +141,12 @@ dependencies:
|
|
142
141
|
- 0
|
143
142
|
- 0
|
144
143
|
version: 3.0.0
|
145
|
-
|
144
|
+
version_requirements: *id008
|
146
145
|
name: activeresource
|
147
146
|
type: :runtime
|
148
|
-
prerelease: false
|
149
147
|
- !ruby/object:Gem::Dependency
|
150
|
-
|
148
|
+
prerelease: false
|
149
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
151
150
|
none: false
|
152
151
|
requirements:
|
153
152
|
- - ">="
|
@@ -158,12 +157,12 @@ dependencies:
|
|
158
157
|
- 0
|
159
158
|
- 0
|
160
159
|
version: 3.0.0
|
161
|
-
|
160
|
+
version_requirements: *id009
|
162
161
|
name: activesupport
|
163
162
|
type: :runtime
|
164
|
-
prerelease: false
|
165
163
|
- !ruby/object:Gem::Dependency
|
166
|
-
|
164
|
+
prerelease: false
|
165
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
167
166
|
none: false
|
168
167
|
requirements:
|
169
168
|
- - ">="
|
@@ -172,12 +171,12 @@ dependencies:
|
|
172
171
|
segments:
|
173
172
|
- 0
|
174
173
|
version: "0"
|
175
|
-
|
174
|
+
version_requirements: *id010
|
176
175
|
name: mediashelf-loggable
|
177
176
|
type: :runtime
|
178
|
-
prerelease: false
|
179
177
|
- !ruby/object:Gem::Dependency
|
180
|
-
|
178
|
+
prerelease: false
|
179
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
181
180
|
none: false
|
182
181
|
requirements:
|
183
182
|
- - ">="
|
@@ -186,12 +185,12 @@ dependencies:
|
|
186
185
|
segments:
|
187
186
|
- 0
|
188
187
|
version: "0"
|
189
|
-
|
188
|
+
version_requirements: *id011
|
190
189
|
name: equivalent-xml
|
191
190
|
type: :runtime
|
192
|
-
prerelease: false
|
193
191
|
- !ruby/object:Gem::Dependency
|
194
|
-
|
192
|
+
prerelease: false
|
193
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
195
194
|
none: false
|
196
195
|
requirements:
|
197
196
|
- - ~>
|
@@ -202,12 +201,12 @@ dependencies:
|
|
202
201
|
- 5
|
203
202
|
- 4
|
204
203
|
version: 0.5.4
|
205
|
-
|
204
|
+
version_requirements: *id012
|
206
205
|
name: rubydora
|
207
206
|
type: :runtime
|
208
|
-
prerelease: false
|
209
207
|
- !ruby/object:Gem::Dependency
|
210
|
-
|
208
|
+
prerelease: false
|
209
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
211
210
|
none: false
|
212
211
|
requirements:
|
213
212
|
- - ">="
|
@@ -216,12 +215,12 @@ dependencies:
|
|
216
215
|
segments:
|
217
216
|
- 0
|
218
217
|
version: "0"
|
219
|
-
|
218
|
+
version_requirements: *id013
|
220
219
|
name: rdf
|
221
220
|
type: :runtime
|
222
|
-
prerelease: false
|
223
221
|
- !ruby/object:Gem::Dependency
|
224
|
-
|
222
|
+
prerelease: false
|
223
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
225
224
|
none: false
|
226
225
|
requirements:
|
227
226
|
- - ">="
|
@@ -230,12 +229,12 @@ dependencies:
|
|
230
229
|
segments:
|
231
230
|
- 0
|
232
231
|
version: "0"
|
233
|
-
|
232
|
+
version_requirements: *id014
|
234
233
|
name: rdf-rdfxml
|
235
234
|
type: :runtime
|
236
|
-
prerelease: false
|
237
235
|
- !ruby/object:Gem::Dependency
|
238
|
-
|
236
|
+
prerelease: false
|
237
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
239
238
|
none: false
|
240
239
|
requirements:
|
241
240
|
- - ">="
|
@@ -244,12 +243,12 @@ dependencies:
|
|
244
243
|
segments:
|
245
244
|
- 0
|
246
245
|
version: "0"
|
247
|
-
|
246
|
+
version_requirements: *id015
|
248
247
|
name: yard
|
249
248
|
type: :development
|
250
|
-
prerelease: false
|
251
249
|
- !ruby/object:Gem::Dependency
|
252
|
-
|
250
|
+
prerelease: false
|
251
|
+
requirement: &id016 !ruby/object:Gem::Requirement
|
253
252
|
none: false
|
254
253
|
requirements:
|
255
254
|
- - ">="
|
@@ -258,12 +257,12 @@ dependencies:
|
|
258
257
|
segments:
|
259
258
|
- 0
|
260
259
|
version: "0"
|
261
|
-
|
260
|
+
version_requirements: *id016
|
262
261
|
name: RedCloth
|
263
262
|
type: :development
|
264
|
-
prerelease: false
|
265
263
|
- !ruby/object:Gem::Dependency
|
266
|
-
|
264
|
+
prerelease: false
|
265
|
+
requirement: &id017 !ruby/object:Gem::Requirement
|
267
266
|
none: false
|
268
267
|
requirements:
|
269
268
|
- - ">="
|
@@ -272,28 +271,12 @@ dependencies:
|
|
272
271
|
segments:
|
273
272
|
- 0
|
274
273
|
version: "0"
|
275
|
-
|
274
|
+
version_requirements: *id017
|
276
275
|
name: rake
|
277
276
|
type: :development
|
278
|
-
prerelease: false
|
279
277
|
- !ruby/object:Gem::Dependency
|
280
|
-
version_requirements: &id018 !ruby/object:Gem::Requirement
|
281
|
-
none: false
|
282
|
-
requirements:
|
283
|
-
- - ~>
|
284
|
-
- !ruby/object:Gem::Version
|
285
|
-
hash: 21
|
286
|
-
segments:
|
287
|
-
- 1
|
288
|
-
- 2
|
289
|
-
- 5
|
290
|
-
version: 1.2.5
|
291
|
-
requirement: *id018
|
292
|
-
name: solrizer-fedora
|
293
|
-
type: :development
|
294
278
|
prerelease: false
|
295
|
-
|
296
|
-
version_requirements: &id019 !ruby/object:Gem::Requirement
|
279
|
+
requirement: &id018 !ruby/object:Gem::Requirement
|
297
280
|
none: false
|
298
281
|
requirements:
|
299
282
|
- - ">="
|
@@ -304,12 +287,12 @@ dependencies:
|
|
304
287
|
- 2
|
305
288
|
- 0
|
306
289
|
version: 1.2.0
|
307
|
-
|
290
|
+
version_requirements: *id018
|
308
291
|
name: jettywrapper
|
309
292
|
type: :development
|
310
|
-
prerelease: false
|
311
293
|
- !ruby/object:Gem::Dependency
|
312
|
-
|
294
|
+
prerelease: false
|
295
|
+
requirement: &id019 !ruby/object:Gem::Requirement
|
313
296
|
none: false
|
314
297
|
requirements:
|
315
298
|
- - ~>
|
@@ -319,12 +302,12 @@ dependencies:
|
|
319
302
|
- 2
|
320
303
|
- 0
|
321
304
|
version: "2.0"
|
322
|
-
|
305
|
+
version_requirements: *id019
|
323
306
|
name: rspec
|
324
307
|
type: :development
|
325
|
-
prerelease: false
|
326
308
|
- !ruby/object:Gem::Dependency
|
327
|
-
|
309
|
+
prerelease: false
|
310
|
+
requirement: &id020 !ruby/object:Gem::Requirement
|
328
311
|
none: false
|
329
312
|
requirements:
|
330
313
|
- - ">="
|
@@ -335,10 +318,9 @@ dependencies:
|
|
335
318
|
- 9
|
336
319
|
- 8
|
337
320
|
version: 0.9.8
|
338
|
-
|
321
|
+
version_requirements: *id020
|
339
322
|
name: mocha
|
340
323
|
type: :development
|
341
|
-
prerelease: false
|
342
324
|
description: ActiveFedora provides for creating and managing objects in the Fedora Repository Architecture.
|
343
325
|
email:
|
344
326
|
- matt.zumwalt@yourmediashelf.com
|
@@ -452,12 +434,12 @@ files:
|
|
452
434
|
- spec/fixtures/rails_root/config/solr_mappings_af_0.1.yml
|
453
435
|
- spec/fixtures/rails_root/config/solr_mappings_bl_2.4.yml
|
454
436
|
- spec/fixtures/sharded_fedora.yml
|
437
|
+
- spec/fixtures/solr_rdf_descMetadata.nt
|
455
438
|
- spec/fixtures/test_12.foxml.xml
|
456
439
|
- spec/hydrangea_fixture_mods_article1.foxml.xml
|
457
440
|
- spec/integration/associations_spec.rb
|
458
441
|
- spec/integration/base_file_management_spec.rb
|
459
442
|
- spec/integration/base_find_by_fields_spec.rb
|
460
|
-
- spec/integration/base_loader_spec.rb
|
461
443
|
- spec/integration/base_spec.rb
|
462
444
|
- spec/integration/bug_spec.rb
|
463
445
|
- spec/integration/datastream_collections_spec.rb
|
@@ -609,12 +591,12 @@ test_files:
|
|
609
591
|
- spec/fixtures/rails_root/config/solr_mappings_af_0.1.yml
|
610
592
|
- spec/fixtures/rails_root/config/solr_mappings_bl_2.4.yml
|
611
593
|
- spec/fixtures/sharded_fedora.yml
|
594
|
+
- spec/fixtures/solr_rdf_descMetadata.nt
|
612
595
|
- spec/fixtures/test_12.foxml.xml
|
613
596
|
- spec/hydrangea_fixture_mods_article1.foxml.xml
|
614
597
|
- spec/integration/associations_spec.rb
|
615
598
|
- spec/integration/base_file_management_spec.rb
|
616
599
|
- spec/integration/base_find_by_fields_spec.rb
|
617
|
-
- spec/integration/base_loader_spec.rb
|
618
600
|
- spec/integration/base_spec.rb
|
619
601
|
- spec/integration/bug_spec.rb
|
620
602
|
- spec/integration/datastream_collections_spec.rb
|