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