active-fedora 5.0.0 → 5.1.0

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 (58) hide show
  1. data/History.txt +14 -1
  2. data/README.textile +6 -0
  3. data/active-fedora.gemspec +1 -1
  4. data/lib/active_fedora.rb +2 -0
  5. data/lib/active_fedora/associations.rb +22 -2
  6. data/lib/active_fedora/associations/association_collection.rb +37 -0
  7. data/lib/active_fedora/associations/belongs_to_association.rb +8 -0
  8. data/lib/active_fedora/associations/has_many_association.rb +2 -0
  9. data/lib/active_fedora/base.rb +43 -6
  10. data/lib/active_fedora/datastream.rb +13 -37
  11. data/lib/active_fedora/datastreams.rb +2 -6
  12. data/lib/active_fedora/digital_object.rb +8 -1
  13. data/lib/active_fedora/metadata_datastream_helper.rb +2 -2
  14. data/lib/active_fedora/nokogiri_datastream.rb +55 -16
  15. data/lib/active_fedora/persistence.rb +14 -9
  16. data/lib/active_fedora/railtie.rb +15 -0
  17. data/lib/active_fedora/rdf_datastream.rb +4 -0
  18. data/lib/active_fedora/rdfxml_rdf_datastream.rb +2 -6
  19. data/lib/active_fedora/reflection.rb +11 -0
  20. data/lib/active_fedora/relationships.rb +4 -4
  21. data/lib/active_fedora/rels_ext_datastream.rb +21 -6
  22. data/lib/active_fedora/semantic_node.rb +3 -3
  23. data/lib/active_fedora/test_support.rb +38 -0
  24. data/lib/active_fedora/version.rb +1 -1
  25. data/lib/generators/active_fedora/config/USAGE +9 -0
  26. data/lib/generators/active_fedora/config/config_generator.rb +10 -0
  27. data/lib/generators/active_fedora/config/fedora/fedora_generator.rb +12 -0
  28. data/lib/generators/active_fedora/config/fedora/templates/fedora.yml +14 -0
  29. data/lib/generators/active_fedora/config/fedora/templates/fedora_conf/conf/development/fedora.fcfg +953 -0
  30. data/lib/generators/active_fedora/config/fedora/templates/fedora_conf/conf/test/fedora.fcfg +953 -0
  31. data/lib/generators/active_fedora/config/solr/solr_generator.rb +12 -0
  32. data/lib/generators/active_fedora/config/solr/templates/solr.yml +10 -0
  33. data/lib/generators/active_fedora/config/solr/templates/solr_conf/conf/schema.xml +692 -0
  34. data/lib/generators/active_fedora/config/solr/templates/solr_conf/conf/solrconfig.xml +299 -0
  35. data/lib/generators/active_fedora/config/solr/templates/solr_conf/solr.xml +35 -0
  36. data/lib/generators/active_fedora/model/USAGE +9 -0
  37. data/lib/generators/active_fedora/model/model_generator.rb +21 -0
  38. data/lib/generators/active_fedora/model/templates/model.rb.erb +6 -0
  39. data/lib/generators/active_fedora/model/templates/model_spec.rb.erb +21 -0
  40. data/lib/tasks/active_fedora_dev.rake +8 -0
  41. data/spec/fixtures/hydrangea_fixture_mods_article2.foxml.xml +234 -0
  42. data/spec/integration/associations_spec.rb +76 -15
  43. data/spec/integration/base_spec.rb +38 -10
  44. data/spec/integration/datastreams_spec.rb +24 -2
  45. data/spec/integration/nokogiri_datastream_spec.rb +23 -5
  46. data/spec/unit/base_extra_spec.rb +0 -1
  47. data/spec/unit/base_spec.rb +7 -47
  48. data/spec/unit/datastream_collections_spec.rb +0 -7
  49. data/spec/unit/datastream_spec.rb +7 -16
  50. data/spec/unit/datastreams_spec.rb +2 -2
  51. data/spec/unit/nokogiri_datastream_spec.rb +31 -20
  52. data/spec/unit/ntriples_datastream_spec.rb +7 -10
  53. data/spec/unit/persistence_spec.rb +0 -11
  54. data/spec/unit/qualified_dublin_core_datastream_spec.rb +1 -2
  55. data/spec/unit/relationships_spec.rb +5 -5
  56. data/spec/unit/rels_ext_datastream_spec.rb +14 -9
  57. data/spec/unit/semantic_node_spec.rb +4 -4
  58. metadata +25 -6
@@ -19,7 +19,7 @@ describe ActiveFedora::Datastream do
19
19
  end
20
20
 
21
21
  it "should be inspectable" do
22
- @test_datastream.inspect.should match /#<ActiveFedora::Datastream:-?\d+ @pid=\"__DO_NOT_USE__\" @dsid=\"abcd\" @controlGroup=\"M\" @dirty=\"true\" @mimeType=\"\" >/
22
+ @test_datastream.inspect.should match /#<ActiveFedora::Datastream:-?\d+ @pid=\"__DO_NOT_USE__\" @dsid=\"abcd\" @controlGroup=\"M\" changed=\"true\" @mimeType=\"\" >/
23
23
  end
24
24
 
25
25
  describe '#validate_content_present' do
@@ -62,14 +62,14 @@ describe ActiveFedora::Datastream do
62
62
  end
63
63
 
64
64
  describe '#save' do
65
- it "should set dirty? to false" do
66
- mock_repo = mock('repository', :config=>{})
67
- mock_repo.stubs(:add_datastream).with(:mimeType=>'text/xml', :versionable => true, :pid => @test_object.pid, :dsid => 'abcd', :controlGroup => 'M', :dsState => 'A', :content => 'hi there')
68
- mock_repo.expects(:datastream).with(:dsid => 'abcd', :pid => @test_object.pid).returns('')
65
+ it "should set changed" do
66
+ mock_repo = mock('repository')
67
+ mock_repo.stubs(:config).returns({})
68
+ mock_repo.stubs(:add_datastream).with(:versionable => true, :pid => @test_object.pid, :dsid => 'abcd', :controlGroup => 'M', :dsState => 'A', :content => 'hi there')
69
+ mock_repo.expects(:datastream).with(:dsid => 'abcd', :pid => @test_object.pid).returns('').at_least_once
69
70
  @test_object.inner_object.stubs(:repository).returns(mock_repo)
70
- @test_datastream.dirty?.should be_true
71
71
  @test_datastream.save
72
- @test_datastream.dirty?.should be_false
72
+ @test_datastream.should_not be_changed
73
73
  end
74
74
  end
75
75
 
@@ -85,15 +85,6 @@ describe ActiveFedora::Datastream do
85
85
  end
86
86
  end
87
87
 
88
- describe ".dirty?" do
89
- it "should return the value of the @dirty attribute or changed?" do
90
- @test_datastream.instance_variable_get(:@changed_attributes).clear
91
- @test_datastream.dirty?.should be_false
92
- @test_datastream.dirty = "boo"
93
- @test_datastream.dirty?.should be_true
94
- end
95
- end
96
-
97
88
  it "should have mimeType accessors" do
98
89
  ds1 = ActiveFedora::Datastream.new
99
90
  ds1.mimeType = "text/foo"
@@ -98,11 +98,11 @@ describe ActiveFedora::Datastreams do
98
98
  describe "creates datastreams" do
99
99
  before(:each) do
100
100
  class FooHistory < ActiveFedora::Base
101
- has_metadata :type=>ActiveFedora::SimpleDatastream, :name=>"someData" do |m|
101
+ has_metadata :type=>ActiveFedora::SimpleDatastream, :name=>"someData", :autocreate => true do |m|
102
102
  m.field "fubar", :string
103
103
  m.field "swank", :text
104
104
  end
105
- has_metadata :type=>ActiveFedora::SimpleDatastream, :name=>"withText2", :label=>"withLabel" do |m|
105
+ has_metadata :type=>ActiveFedora::SimpleDatastream, :name=>"withText2", :label=>"withLabel", :autocreate => true do |m|
106
106
  m.field "fubar", :text
107
107
  end
108
108
 
@@ -18,7 +18,9 @@ describe ActiveFedora::NokogiriDatastream do
18
18
  @mock_repo.stubs(:datastream_dissemination=>'My Content', :config=>{})
19
19
  @mock_inner.stubs(:repository).returns(@mock_repo)
20
20
  @mock_inner.stubs(:pid)
21
+ @mock_inner.stubs(:new? => false)
21
22
  @test_ds = ActiveFedora::NokogiriDatastream.new(@mock_inner, "descMetadata")
23
+ @test_ds.stubs(:new? => false, :profile => {}, :datastream_content => '<test_xml/>')
22
24
  @test_ds.content="<test_xml/>"
23
25
  end
24
26
 
@@ -44,7 +46,6 @@ describe ActiveFedora::NokogiriDatastream do
44
46
  it "should initialize from #xml_template if no xml is provided" do
45
47
  ActiveFedora::NokogiriDatastream.expects(:xml_template).returns("<fake template/>")
46
48
  n = ActiveFedora::NokogiriDatastream.new
47
- n.ensure_xml_loaded
48
49
  n.ng_xml.should be_equivalent_to("<fake template/>")
49
50
  end
50
51
  end
@@ -133,10 +134,10 @@ describe ActiveFedora::NokogiriDatastream do
133
134
  # @test_ds.fubar_values.should == ["val1", "val2"]
134
135
  # end
135
136
 
136
- it "should set @dirty to true" do
137
+ it "should set changed to true" do
137
138
  @mods_ds.get_values([{:title_info=>0},:main_title]).should == ["ARTICLE TITLE", "TITLE OF HOST JOURNAL"]
138
139
  @mods_ds.update_indexed_attributes [{"title_info"=>"0"},"main_title"]=>{"-1"=>"mork"}
139
- @mods_ds.dirty?.should be_true
140
+ @mods_ds.should be_changed
140
141
  end
141
142
  end
142
143
 
@@ -163,7 +164,7 @@ describe ActiveFedora::NokogiriDatastream do
163
164
  mods_xml = Nokogiri::XML::Document.parse( fixture(File.join("mods_articles", "hydrangea_article1.xml")) )
164
165
  tmpl = Hydra::ModsArticleDatastream.new
165
166
  Hydra::ModsArticleDatastream.from_xml(mods_xml,tmpl).ng_xml.root.to_xml.should == mods_xml.root.to_xml
166
- tmpl.dirty?.should be_false
167
+ tmpl.should_not be_changed
167
168
  end
168
169
  end
169
170
 
@@ -177,10 +178,10 @@ describe ActiveFedora::NokogiriDatastream do
177
178
  @test_ds.should respond_to(:save)
178
179
  end
179
180
  it "should persist the product of .to_xml in fedora" do
180
- @test_ds.expects(:new?).returns(true).twice
181
- @mock_repo.expects(:datastream).with(:pid => nil, :dsid => 'descMetadata').returns('').twice
181
+ @test_ds.expects(:new?).returns(true).at_least_once
182
+ @test_ds.stubs(:to_xml => "fake xml")
182
183
  @mock_repo.expects(:add_datastream).with(:pid => nil, :dsid => 'descMetadata', :versionable => true, :content => 'fake xml', :controlGroup => 'X', :dsState => 'A', :mimeType=>'text/xml')
183
- @test_ds.expects(:to_xml).returns("fake xml")
184
+
184
185
  @test_ds.serialize!
185
186
  @test_ds.save
186
187
  @test_ds.mimeType.should == 'text/xml'
@@ -188,14 +189,24 @@ describe ActiveFedora::NokogiriDatastream do
188
189
  end
189
190
 
190
191
  describe '.content=' do
191
- it "should update the content and ng_xml, marking the datastream as dirty" do
192
- @test_ds.dirty = false # pretend it isn't dirty to show that content= does it
193
- @test_ds.content.should_not be_equivalent_to(@sample_raw_xml)
194
- @test_ds.ng_xml.to_xml.should_not be_equivalent_to(@sample_raw_xml)
195
- @test_ds.content = @sample_raw_xml
196
- @test_ds.should be_dirty
197
- @test_ds.content.should be_equivalent_to(@sample_raw_xml)
198
- @test_ds.ng_xml.to_xml.should be_equivalent_to(@sample_raw_xml)
192
+ subject { ActiveFedora::NokogiriDatastream.new(@mock_inner, "descMetadata") }
193
+ it "should update the content" do
194
+ subject.stubs(:new? => false )
195
+ subject.content = "<a />"
196
+ subject.datastream_content.should == '<a />'
197
+ end
198
+
199
+ it "should mark the object as changed" do
200
+ subject.stubs(:new? => false )
201
+ subject.content = "<a />"
202
+ subject.should be_changed
203
+ end
204
+
205
+ it "update ngxml and mark the xml as loaded" do
206
+ subject.stubs(:new? => false )
207
+ subject.content = "<a />"
208
+ subject.ng_xml.to_xml.should =~ /<a\/>/
209
+ subject.xml_loaded.should be_true
199
210
  end
200
211
  end
201
212
 
@@ -214,11 +225,11 @@ describe ActiveFedora::NokogiriDatastream do
214
225
  @test_ds2.ng_xml.should be_kind_of Nokogiri::XML::Document
215
226
  @test_ds2.ng_xml.to_xml.should be_equivalent_to("<xmlelement/>")
216
227
  end
217
- it "should mark the datastream as dirty" do
218
- @test_ds2.dirty.should be_false
228
+ it "should mark the datastream as changed" do
229
+ @test_ds2.should_not be_changed
219
230
  @test_ds2.ng_xml = @sample_raw_xml
220
231
  @test_ds2.ng_xml_changed?.should be_true
221
- @test_ds2.should be_dirty
232
+ @test_ds2.should be_changed
222
233
  @test_ds2.instance_variable_get(:@content).should be_nil
223
234
  end
224
235
  end
@@ -342,11 +353,11 @@ describe ActiveFedora::NokogiriDatastream do
342
353
  @mods_ds.update_values([{":person"=>"0"}, "role", "text"]=>{"0"=>"role1", "1"=>"role2", "2"=>"role3"})
343
354
  end
344
355
 
345
- it "should set @dirty to true" do
356
+ it "should set changed to true" do
346
357
  mods_ds = Hydra::ModsArticleDatastream.new
347
358
  mods_ds.content=fixture(File.join("mods_articles","hydrangea_article1.xml")).read
348
359
  mods_ds.update_values([{":person"=>"0"}, "role", "text"]=>{"0"=>"role1", "1"=>"role2", "2"=>"role3"})
349
- mods_ds.dirty?.should be_true
360
+ mods_ds.should be_changed
350
361
  end
351
362
  end
352
363
 
@@ -126,15 +126,11 @@ describe ActiveFedora::NtriplesRDFDatastream do
126
126
  end
127
127
  end
128
128
  @subject = MyDatastream.new(@inner_object, 'mixed_rdf')
129
- @subject.stubs(:pid => 'test:1')
129
+ @subject.stubs(:pid => 'test:1', :repository => ActiveFedora::Base.connection_for_pid(0))
130
130
  end
131
131
  after(:each) do
132
132
  Object.send(:remove_const, :MyDatastream)
133
133
  end
134
- it "should save and reload" do
135
- @subject.publisher = ["St. Martin's Press"]
136
- @subject.save
137
- end
138
134
  it "should support to_s method" do
139
135
  @subject.publisher.to_s.should == [].to_s
140
136
  @subject.publisher = "Bob"
@@ -261,6 +257,9 @@ describe ActiveFedora::NtriplesRDFDatastream do
261
257
  delegate :rights, :to => :descMetadata
262
258
  end
263
259
  @obj = MyDatastream.new(@inner_object, 'solr_rdf')
260
+ @obj.stubs(:repository => mock(), :pid => 'test:1')
261
+ @obj.repository.stubs(:modify_datastream)
262
+ @obj.repository.stubs(:add_datastream)
264
263
  @obj.created = "2012-03-04"
265
264
  @obj.title = "Of Mice and Men, The Sequel"
266
265
  @obj.publisher = "Bob's Blogtastic Publishing"
@@ -271,18 +270,16 @@ describe ActiveFedora::NtriplesRDFDatastream do
271
270
  end
272
271
  describe '#save' do
273
272
  it "should set dirty? to false" do
274
- @obj.dirty?.should be_false
273
+ @obj.should_not be_changed
275
274
  @obj.title = "something"
276
- @obj.dirty?.should be_true
275
+ @obj.should be_changed
277
276
  @obj.save
278
- @obj.dirty?.should be_false
277
+ @obj.should_not be_changed
279
278
  end
280
279
  end
281
280
  describe '.content=' do
282
281
  it "should update the content and graph, marking the datastream as changed" do
283
282
  mock_repo = mock('repository')
284
- mock_repo.expects(:datastream_dissemination).with(:pid => 'test:123',
285
- :dsid => 'solr_rdf')
286
283
  sample_rdf = File.new('spec/fixtures/mixed_rdf_descMetadata.nt').read
287
284
  @obj.stubs(:pid).returns('test:123')
288
285
  @obj.stubs(:repository).returns(mock_repo)
@@ -19,20 +19,9 @@ describe ActiveFedora::Persistence do
19
19
  end
20
20
 
21
21
  describe "#update_needs_index?" do
22
- describe "when metadata is dirty" do
23
- before do
24
- subject.send(:metadata_is_dirty=, true)
25
- end
26
22
  it "should be true" do
27
23
  subject.send(:update_needs_index?).should be_true
28
24
  end
29
- end
30
-
31
- describe "when metadata is not dirty" do
32
- it "should be false" do
33
- subject.send(:update_needs_index?).should be_false
34
- end
35
- end
36
25
  end
37
26
 
38
27
 
@@ -60,8 +60,7 @@ describe ActiveFedora::QualifiedDublinCoreDatastream do
60
60
  n = ActiveFedora::QualifiedDublinCoreDatastream.from_xml(stream.to_xml, ds)
61
61
  n.spatial.should == ["Boston [7013445]", "Dorchester [7013575]", "Roxbury [7015002]"]
62
62
  n.title.should == ["Oral history with Frances Addelson, 1997 November 14"]
63
- n.dirty?.should == false
64
-
63
+ n.should_not be_changed
65
64
  end
66
65
 
67
66
 
@@ -90,7 +90,7 @@ describe ActiveFedora::Relationships do
90
90
  #local_node.internal_uri = "info:fedora/#{@pid}"
91
91
  local_node.pid = @pid
92
92
 
93
- local_node.expects(:rels_ext).returns(stub("rels_ext", :dirty= => true, :content=>'')).at_least_once
93
+ local_node.expects(:rels_ext).returns(stub("rels_ext", :content_will_change! => true, :content=>'')).at_least_once
94
94
  local_node.add_relationship(:is_member_of, "info:fedora/container:A")
95
95
  local_node.add_relationship(:is_member_of, "info:fedora/container:B")
96
96
 
@@ -122,7 +122,7 @@ describe ActiveFedora::Relationships do
122
122
  @test_object2 = MockHasRelationship.new
123
123
  @test_object2.pid = increment_pid
124
124
  @test_object2.stubs(:testing_inbound).returns({})
125
- @test_object2.expects(:rels_ext).returns(stub("rels_ext", :dirty= => true, :content =>'')).at_least_once
125
+ @test_object2.expects(:rels_ext).returns(stub("rels_ext", :content_will_change! => true, :content =>'')).at_least_once
126
126
  @test_object2.add_relationship(:has_model, SpecNode.to_class_uri)
127
127
  @test_object2.should respond_to(:testing_append)
128
128
  @test_object2.should respond_to(:testing_remove)
@@ -273,7 +273,7 @@ describe ActiveFedora::Relationships do
273
273
  it "(:response_format => :id_array) should return an array of fedora PIDs" do
274
274
  SpecNode.create_outbound_relationship_finders("containers", :is_member_of)
275
275
  local_node = SpecNode.new
276
- local_node.expects(:rels_ext).returns(stub("rels_ext", :dirty= => true, :content=>'')).at_least_once
276
+ local_node.expects(:rels_ext).returns(stub("rels_ext", :content_will_change! => true, :content=>'')).at_least_once
277
277
  local_node.add_relationship(:is_member_of, "demo:10")
278
278
  result = local_node.containers_ids
279
279
  result.should be_instance_of(Array)
@@ -363,9 +363,9 @@ describe ActiveFedora::Relationships do
363
363
  @local_node2 = SpecNode.new
364
364
  @local_node2.pid = "mypid2"
365
365
  model_def = SpecNode.to_class_uri
366
- @local_node.expects(:rels_ext).returns(stub("rels_ext", :dirty= => true, :content=>'')).at_least_once
366
+ @local_node.expects(:rels_ext).returns(stub("rels_ext", :content_will_change! => true, :content=>'')).at_least_once
367
367
  @local_node.add_relationship(:has_model, model_def)
368
- @local_node2.expects(:rels_ext).returns(stub("rels_ext", :dirty= => true, :content=>'')).at_least_once
368
+ @local_node2.expects(:rels_ext).returns(stub("rels_ext", :content_will_change! => true, :content=>'')).at_least_once
369
369
  @local_node2.add_relationship(:has_model, model_def)
370
370
  @local_node.add_relationship(:has_part, @local_node2)
371
371
  @local_node2.add_relationship(:has_part, @local_node)
@@ -20,21 +20,26 @@ describe ActiveFedora::RelsExtDatastream do
20
20
  mock_inner.stubs(:repository).returns(@mock_repo)
21
21
  mock_inner.stubs(:pid).returns(@pid)
22
22
  @test_ds = ActiveFedora::RelsExtDatastream.new(mock_inner, "RELS-EXT")
23
+ @test_ds.stubs(:profile).returns({})
23
24
  end
24
25
 
25
26
  its(:metadata?) { should be_true}
26
27
 
27
- describe "#save" do
28
- before do
29
- @mock_repo.expects(:add_datastream).with(:pid => 'test:sample_pid', :dsid => 'RELS-EXT', :versionable => true, :content => 'fake xml', :controlGroup => 'M', :dsState => 'A', :mimeType=>'application/rdf+xml')
30
- @mock_repo.expects(:datastream).with(:pid => 'test:sample_pid', :dsid => 'RELS-EXT').returns("")
31
- end
32
- it 'should set the mime type' do
33
- @test_ds.content = 'fake xml'
34
- @test_ds.save
28
+ describe "#mimeType" do
29
+ it 'should use the application/rdf+xml mime type' do
35
30
  @test_ds.mimeType.should == 'application/rdf+xml'
36
31
  end
37
32
  end
33
+
34
+ describe "#changed?" do
35
+ it "should be false when no changes have been made" do
36
+ subject.changed?.should == false
37
+ end
38
+ it "should be true when the model has changes" do
39
+ subject.model = stub(:relationships_are_dirty=>true)
40
+ subject.changed?.should == true
41
+ end
42
+ end
38
43
 
39
44
 
40
45
  describe '#serialize!' do
@@ -44,7 +49,7 @@ describe ActiveFedora::RelsExtDatastream do
44
49
  subject = RDF::URI.new "info:fedora/test:sample_pid"
45
50
  graph.insert RDF::Statement.new(subject, ActiveFedora::Predicates.find_graph_predicate(:is_member_of), RDF::URI.new('demo:10'))
46
51
 
47
- @test_ds.expects(:model).returns(stub("model", :outbound_relationships=>graph, :relationships=>graph, :relationships_are_dirty =>true, :relationships_are_dirty= => true)).times(3)
52
+ @test_ds.stubs(:new? => true, :relationships_are_dirty? =>true, :relationships => graph, :model => mock(:relationships_are_dirty= => true))
48
53
  @test_ds.serialize!
49
54
  EquivalentXml.equivalent?(@test_ds.content, "<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>\n <rdf:Description rdf:about='info:fedora/test:sample_pid'>\n <isMemberOf rdf:resource='demo:10' xmlns='info:fedora/fedora-system:def/relations-external#'/></rdf:Description>\n </rdf:RDF>").should be_true
50
55
  end
@@ -47,11 +47,11 @@ describe ActiveFedora::SemanticNode do
47
47
  end
48
48
 
49
49
  @node = SpecNode.new
50
- @node.stubs(:rels_ext).returns(stub("rels_ext", :dirty= => true, :content=>''))
50
+ @node.stubs(:rels_ext).returns(stub("rels_ext", :content_will_change! => true, :content=>''))
51
51
  @node.pid = increment_pid
52
52
  @test_object = SpecNode2.new
53
53
  @test_object.pid = increment_pid
54
- @test_object.stubs(:rels_ext).returns(stub("rels_ext", :dirty= => true, :content=>''))
54
+ @test_object.stubs(:rels_ext).returns(stub("rels_ext", :content_will_change! => true, :content=>''))
55
55
  end
56
56
 
57
57
  after(:each) do
@@ -105,7 +105,7 @@ describe ActiveFedora::SemanticNode do
105
105
  it "adding relationship to an instance should not affect class-level relationships hash" do
106
106
  local_test_node1 = SpecNode.new
107
107
  local_test_node2 = SpecNode.new
108
- local_test_node1.expects(:rels_ext).returns(stub("rels_ext", :dirty= => true, :content=>'')).at_least_once
108
+ local_test_node1.expects(:rels_ext).returns(stub("rels_ext", :content_will_change! => true, :content=>'')).at_least_once
109
109
  local_test_node1.add_relationship(:is_member_of, 'demo:10')
110
110
  local_test_node2.expects(:rels_ext).returns(stub('rels-ext', :content=>''))
111
111
 
@@ -137,7 +137,7 @@ describe ActiveFedora::SemanticNode do
137
137
 
138
138
  describe '#remove_relationship' do
139
139
  it 'should remove a relationship from the relationships hash' do
140
- @test_object.expects(:rels_ext).returns(stub("rels_ext", :dirty= => true, :content=>'')).times(4)
140
+ @test_object.expects(:rels_ext).returns(stub("rels_ext", :content_will_change! => true, :content=>'')).times(4)
141
141
  @test_object.add_relationship(:has_part, "info:fedora/3")
142
142
  @test_object.add_relationship(:has_part, "info:fedora/4")
143
143
  #check both are there
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active-fedora
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.0
4
+ version: 5.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-11-30 00:00:00.000000000 Z
14
+ date: 2012-12-07 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rsolr
@@ -132,7 +132,7 @@ dependencies:
132
132
  requirements:
133
133
  - - ~>
134
134
  - !ruby/object:Gem::Version
135
- version: 0.5.13
135
+ version: 0.8.0
136
136
  type: :runtime
137
137
  prerelease: false
138
138
  version_requirements: !ruby/object:Gem::Requirement
@@ -140,7 +140,7 @@ dependencies:
140
140
  requirements:
141
141
  - - ~>
142
142
  - !ruby/object:Gem::Version
143
- version: 0.5.13
143
+ version: 0.8.0
144
144
  - !ruby/object:Gem::Dependency
145
145
  name: rdf
146
146
  requirement: !ruby/object:Gem::Requirement
@@ -371,6 +371,7 @@ files:
371
371
  - lib/active_fedora/predicates.rb
372
372
  - lib/active_fedora/property.rb
373
373
  - lib/active_fedora/qualified_dublin_core_datastream.rb
374
+ - lib/active_fedora/railtie.rb
374
375
  - lib/active_fedora/rdf_datastream.rb
375
376
  - lib/active_fedora/rdf_xml_writer.rb
376
377
  - lib/active_fedora/rdfxml_rdf_datastream.rb
@@ -384,9 +385,25 @@ files:
384
385
  - lib/active_fedora/simple_datastream.rb
385
386
  - lib/active_fedora/solr_digital_object.rb
386
387
  - lib/active_fedora/solr_service.rb
388
+ - lib/active_fedora/test_support.rb
387
389
  - lib/active_fedora/unsaved_digital_object.rb
388
390
  - lib/active_fedora/validations.rb
389
391
  - lib/active_fedora/version.rb
392
+ - lib/generators/active_fedora/config/USAGE
393
+ - lib/generators/active_fedora/config/config_generator.rb
394
+ - lib/generators/active_fedora/config/fedora/fedora_generator.rb
395
+ - lib/generators/active_fedora/config/fedora/templates/fedora.yml
396
+ - lib/generators/active_fedora/config/fedora/templates/fedora_conf/conf/development/fedora.fcfg
397
+ - lib/generators/active_fedora/config/fedora/templates/fedora_conf/conf/test/fedora.fcfg
398
+ - lib/generators/active_fedora/config/solr/solr_generator.rb
399
+ - lib/generators/active_fedora/config/solr/templates/solr.yml
400
+ - lib/generators/active_fedora/config/solr/templates/solr_conf/conf/schema.xml
401
+ - lib/generators/active_fedora/config/solr/templates/solr_conf/conf/solrconfig.xml
402
+ - lib/generators/active_fedora/config/solr/templates/solr_conf/solr.xml
403
+ - lib/generators/active_fedora/model/USAGE
404
+ - lib/generators/active_fedora/model/model_generator.rb
405
+ - lib/generators/active_fedora/model/templates/model.rb.erb
406
+ - lib/generators/active_fedora/model/templates/model_spec.rb.erb
390
407
  - lib/tasks/active_fedora.rake
391
408
  - lib/tasks/active_fedora_dev.rake
392
409
  - script/console
@@ -400,6 +417,7 @@ files:
400
417
  - spec/fixtures/dino_jpg_no_file_ext
401
418
  - spec/fixtures/dublin_core_rdf_descMetadata.nt
402
419
  - spec/fixtures/hydrangea_fixture_mods_article1.foxml.xml
420
+ - spec/fixtures/hydrangea_fixture_mods_article2.foxml.xml
403
421
  - spec/fixtures/minivan.jpg
404
422
  - spec/fixtures/mixed_rdf_descMetadata.nt
405
423
  - spec/fixtures/mods_articles/hydrangea_article1.xml
@@ -542,10 +560,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
542
560
  version: '0'
543
561
  segments:
544
562
  - 0
545
- hash: 3035887802839477048
563
+ hash: -1107417416523628890
546
564
  requirements: []
547
565
  rubyforge_project: rubyfedora
548
- rubygems_version: 1.8.24
566
+ rubygems_version: 1.8.23
549
567
  signing_key:
550
568
  specification_version: 3
551
569
  summary: A convenience libary for manipulating documents in the Fedora Repository.
@@ -556,6 +574,7 @@ test_files:
556
574
  - spec/fixtures/dino_jpg_no_file_ext
557
575
  - spec/fixtures/dublin_core_rdf_descMetadata.nt
558
576
  - spec/fixtures/hydrangea_fixture_mods_article1.foxml.xml
577
+ - spec/fixtures/hydrangea_fixture_mods_article2.foxml.xml
559
578
  - spec/fixtures/minivan.jpg
560
579
  - spec/fixtures/mixed_rdf_descMetadata.nt
561
580
  - spec/fixtures/mods_articles/hydrangea_article1.xml