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.
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