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.
Files changed (44) hide show
  1. data/Gemfile.lock +2 -11
  2. data/History.txt +4 -1
  3. data/active-fedora.gemspec +2 -2
  4. data/lib/active_fedora/associations/association_collection.rb +1 -1
  5. data/lib/active_fedora/associations/belongs_to_association.rb +1 -1
  6. data/lib/active_fedora/associations/has_and_belongs_to_many_association.rb +1 -1
  7. data/lib/active_fedora/base.rb +10 -6
  8. data/lib/active_fedora/file_management.rb +1 -1
  9. data/lib/active_fedora/fixture_loader.rb +1 -1
  10. data/lib/active_fedora/model.rb +39 -38
  11. data/lib/active_fedora/nokogiri_datastream.rb +1 -1
  12. data/lib/active_fedora/persistence.rb +9 -11
  13. data/lib/active_fedora/predicates.rb +2 -2
  14. data/lib/active_fedora/rdf_datastream.rb +49 -7
  15. data/lib/active_fedora/relationships.rb +6 -9
  16. data/lib/active_fedora/service_definitions.rb +1 -1
  17. data/lib/active_fedora/solr_service.rb +15 -8
  18. data/lib/active_fedora/version.rb +1 -1
  19. data/lib/tasks/active_fedora.rake +3 -5
  20. data/lib/tasks/active_fedora_dev.rake +2 -1
  21. data/spec/fixtures/solr_rdf_descMetadata.nt +7 -0
  22. data/spec/integration/base_file_management_spec.rb +1 -1
  23. data/spec/integration/base_find_by_fields_spec.rb +16 -14
  24. data/spec/integration/base_spec.rb +10 -9
  25. data/spec/integration/datastream_collections_spec.rb +5 -5
  26. data/spec/integration/datastream_spec.rb +1 -1
  27. data/spec/integration/full_featured_model_spec.rb +1 -1
  28. data/spec/integration/model_spec.rb +14 -11
  29. data/spec/integration/mods_article_integration_spec.rb +2 -2
  30. data/spec/integration/nokogiri_datastream_spec.rb +1 -1
  31. data/spec/integration/ntriples_datastream_spec.rb +1 -0
  32. data/spec/integration/rels_ext_datastream_spec.rb +5 -6
  33. data/spec/integration/semantic_node_spec.rb +0 -1
  34. data/spec/integration/solr_service_spec.rb +8 -8
  35. data/spec/unit/base_extra_spec.rb +47 -7
  36. data/spec/unit/base_file_management_spec.rb +1 -1
  37. data/spec/unit/base_spec.rb +44 -15
  38. data/spec/unit/model_spec.rb +16 -29
  39. data/spec/unit/ntriples_datastream_spec.rb +152 -1
  40. data/spec/unit/relationships_spec.rb +16 -18
  41. data/spec/unit/solr_config_options_spec.rb +1 -3
  42. data/spec/unit/solr_service_spec.rb +12 -24
  43. metadata +68 -86
  44. 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#load_instance to build an array of objects" do
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.instance.conn.expects(:query).with("is_part_of_s:info\\:fedora/test\\:sample_pid", :rows=>25).returns(solr_result)
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(:load_instance).never
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
- ActiveFedora::SolrService.instance.conn.expects(:query).with("is_constituent_of_s:info\\:fedora/test\\:sample_pid", :rows=>101).returns(solr_result)
185
- local_node.constituents(:response_format => :solr, :rows=>101).should equal(solr_result)
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.instance.conn.expects(:query).with("is_part_of_s:info\\:fedora/test\\:sample_pid", :rows=>25).returns(mock("solr result", :hits => [Hash["id"=>"pid1"], Hash["id"=>"pid2"]]))
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.load_instance to build an array of objects" do
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
- mock_repo = mock("repo")
238
- solr_result = mock("solr result", :is_a? => true)
239
- solr_result.expects(:hits).returns(
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(:load_instance).never
251
+ mock_repo.expects(:find).never
254
252
  local_node.expects(:rels_ext).returns(stub('rels-ext', :content=>''))
255
- ActiveFedora::SolrService.instance.conn.expects(:query).returns(solr_result)
256
- local_node.constituents(:response_format => :solr).should equal(solr_result)
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.instance.conn.expects(:query).with("#{id_array_query} OR (is_part_of_s:info\\:fedora/test\\:sample_pid)", :rows=>25).returns(solr_result)
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
- mock_solr.expects(:query).with(SOLR_DOCUMENT_ID + ':changeme\:30', {}).returns(mock_response)
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
- mconn = mock('conn')
15
- Solr::Connection.expects(:new).with('http://localhost:8080/solr', {:autocommit=>:on}).returns(mconn)
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
- mconn = mock('conn')
20
- Solr::Connection.expects(:new).with('http://fubar', {:autocommit=>:on}).returns(mconn)
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
- mconn = mock('conn')
30
- Solr::Connection.expects(:new).with('http://localhost:8080/solr', {:autocommit=>:off, :foo=>:bar}).returns(mconn)
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
- mconn = mock('conn')
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 only take Solr::Response::Standard objects as input" do
64
- mocko = mock("input", :is_a? => false)
65
- lambda {ActiveFedora::SolrService.reify_solr_results(mocko)}.should raise_error(ArgumentError)
66
- end
67
- it "should use Repository.load_instance to instantiate objects" do
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: 15424151
4
+ hash: 15424145
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 4
8
8
  - 0
9
9
  - 0
10
10
  - rc
11
- - 1
12
- version: 4.0.0.rc1
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-04 00:00:00 Z
22
+ date: 2012-03-06 00:00:00 Z
23
23
  dependencies:
24
24
  - !ruby/object:Gem::Dependency
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
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: 19
31
+ hash: 3
31
32
  segments:
32
33
  - 0
33
- - 0
34
- - 6
35
- version: 0.0.6
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
- version_requirements: &id002 !ruby/object:Gem::Requirement
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
- requirement: *id002
51
+ version_requirements: *id002
53
52
  name: xml-simple
54
53
  type: :runtime
55
- prerelease: false
56
54
  - !ruby/object:Gem::Dependency
57
- version_requirements: &id003 !ruby/object:Gem::Requirement
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
- requirement: *id003
66
+ version_requirements: *id003
68
67
  name: mime-types
69
68
  type: :runtime
70
- prerelease: false
71
69
  - !ruby/object:Gem::Dependency
72
- version_requirements: &id004 !ruby/object:Gem::Requirement
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
- requirement: *id004
82
+ version_requirements: *id004
84
83
  name: multipart-post
85
84
  type: :runtime
86
- prerelease: false
87
85
  - !ruby/object:Gem::Dependency
88
- version_requirements: &id005 !ruby/object:Gem::Requirement
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
- requirement: *id005
96
+ version_requirements: *id005
98
97
  name: nokogiri
99
98
  type: :runtime
100
- prerelease: false
101
99
  - !ruby/object:Gem::Dependency
102
- version_requirements: &id006 !ruby/object:Gem::Requirement
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
- requirement: *id006
112
+ version_requirements: *id006
114
113
  name: om
115
114
  type: :runtime
116
- prerelease: false
117
115
  - !ruby/object:Gem::Dependency
118
- version_requirements: &id007 !ruby/object:Gem::Requirement
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
- requirement: *id007
128
+ version_requirements: *id007
130
129
  name: solrizer
131
130
  type: :runtime
132
- prerelease: false
133
131
  - !ruby/object:Gem::Dependency
134
- version_requirements: &id008 !ruby/object:Gem::Requirement
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
- requirement: *id008
144
+ version_requirements: *id008
146
145
  name: activeresource
147
146
  type: :runtime
148
- prerelease: false
149
147
  - !ruby/object:Gem::Dependency
150
- version_requirements: &id009 !ruby/object:Gem::Requirement
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
- requirement: *id009
160
+ version_requirements: *id009
162
161
  name: activesupport
163
162
  type: :runtime
164
- prerelease: false
165
163
  - !ruby/object:Gem::Dependency
166
- version_requirements: &id010 !ruby/object:Gem::Requirement
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
- requirement: *id010
174
+ version_requirements: *id010
176
175
  name: mediashelf-loggable
177
176
  type: :runtime
178
- prerelease: false
179
177
  - !ruby/object:Gem::Dependency
180
- version_requirements: &id011 !ruby/object:Gem::Requirement
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
- requirement: *id011
188
+ version_requirements: *id011
190
189
  name: equivalent-xml
191
190
  type: :runtime
192
- prerelease: false
193
191
  - !ruby/object:Gem::Dependency
194
- version_requirements: &id012 !ruby/object:Gem::Requirement
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
- requirement: *id012
204
+ version_requirements: *id012
206
205
  name: rubydora
207
206
  type: :runtime
208
- prerelease: false
209
207
  - !ruby/object:Gem::Dependency
210
- version_requirements: &id013 !ruby/object:Gem::Requirement
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
- requirement: *id013
218
+ version_requirements: *id013
220
219
  name: rdf
221
220
  type: :runtime
222
- prerelease: false
223
221
  - !ruby/object:Gem::Dependency
224
- version_requirements: &id014 !ruby/object:Gem::Requirement
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
- requirement: *id014
232
+ version_requirements: *id014
234
233
  name: rdf-rdfxml
235
234
  type: :runtime
236
- prerelease: false
237
235
  - !ruby/object:Gem::Dependency
238
- version_requirements: &id015 !ruby/object:Gem::Requirement
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
- requirement: *id015
246
+ version_requirements: *id015
248
247
  name: yard
249
248
  type: :development
250
- prerelease: false
251
249
  - !ruby/object:Gem::Dependency
252
- version_requirements: &id016 !ruby/object:Gem::Requirement
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
- requirement: *id016
260
+ version_requirements: *id016
262
261
  name: RedCloth
263
262
  type: :development
264
- prerelease: false
265
263
  - !ruby/object:Gem::Dependency
266
- version_requirements: &id017 !ruby/object:Gem::Requirement
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
- requirement: *id017
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
- - !ruby/object:Gem::Dependency
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
- requirement: *id019
290
+ version_requirements: *id018
308
291
  name: jettywrapper
309
292
  type: :development
310
- prerelease: false
311
293
  - !ruby/object:Gem::Dependency
312
- version_requirements: &id020 !ruby/object:Gem::Requirement
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
- requirement: *id020
305
+ version_requirements: *id019
323
306
  name: rspec
324
307
  type: :development
325
- prerelease: false
326
308
  - !ruby/object:Gem::Dependency
327
- version_requirements: &id021 !ruby/object:Gem::Requirement
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
- requirement: *id021
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