active-fedora 5.2.0 → 5.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -10,3 +10,4 @@ group :development, :test do
10
10
  end
11
11
 
12
12
  gem 'jruby-openssl', :platform=> :jruby
13
+ gem 'nom-xml', :git => 'git://github.com/cbeer/nom-xml.git'
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.required_ruby_version = '>= 1.9.3'
17
17
 
18
18
  s.add_dependency('rsolr')
19
- s.add_dependency('om', '~> 1.8.0.rc1')
19
+ s.add_dependency('om', '~> 1.8.0')
20
20
  s.add_dependency('solrizer', '~>2.0.0')
21
21
  s.add_dependency("activeresource", '>= 3.0.0')
22
22
  s.add_dependency("activesupport", '>= 3.0.0')
@@ -44,7 +44,9 @@ module ActiveFedora #:nodoc:
44
44
  autoload :Model
45
45
  autoload :MetadataDatastreamHelper
46
46
  autoload :NokogiriDatastream
47
+ autoload :NomDatastream
47
48
  autoload :NtriplesRDFDatastream
49
+ autoload :OmDatastream
48
50
  autoload :Property
49
51
  autoload :Persistence
50
52
  autoload :QualifiedDublinCoreDatastream
@@ -48,7 +48,7 @@ module ActiveFedora
48
48
  end
49
49
 
50
50
  def save
51
- @content = to_xml
51
+ @content = to_xml if ng_xml_changed? and content_will_change!
52
52
  super
53
53
  end
54
54
 
@@ -0,0 +1,88 @@
1
+ require "nom"
2
+
3
+ module ActiveFedora
4
+ class NomDatastream < Datastream
5
+ def self.set_terminology &block
6
+ @terminology = block
7
+ end
8
+
9
+ def self.terminology
10
+ @terminology
11
+ end
12
+
13
+ def self.default_attributes
14
+ super.merge(:controlGroup => 'X', :mimeType => 'text/xml')
15
+ end
16
+
17
+ # Create an instance of this class based on xml content
18
+ # @param [String, File, Nokogiri::XML::Node] xml the xml content to build from
19
+ # @param [ActiveFedora::MetadataDatastream] tmpl the Datastream object that you are building @default a new instance of this class
20
+ # Careful! If you call this from a constructor, be sure to provide something 'ie. self' as the @tmpl. Otherwise, you will get an infinite loop!
21
+ def self.from_xml(xml, tmpl=nil)
22
+ ds = self.new nil, nil
23
+ ds.content = xml.to_s
24
+ ds
25
+ end
26
+
27
+ def ng_xml
28
+ @ng_xml ||= begin
29
+ xml = Nokogiri::XML content
30
+ xml.set_terminology &self.class.terminology
31
+ xml.nom!
32
+ xml
33
+ end
34
+ end
35
+
36
+ def ng_xml= ng_xml
37
+ @ng_xml = ng_xml
38
+ @ng_xml.set_terminology &self.class.terminology
39
+ content_will_change!
40
+ @ng_xml
41
+ end
42
+
43
+ def serialize!
44
+ self.content = @ng_xml.to_s if @ng_xml
45
+ end
46
+
47
+ def content
48
+ @content || super
49
+ end
50
+
51
+ def content=(content)
52
+ super
53
+ @ng_xml = nil
54
+ end
55
+
56
+ def to_solr
57
+ solr_doc = {}
58
+
59
+ ng_xml.terminology.flatten.select { |x| x.options[:index] }.each do |term|
60
+ term.values.each do |v|
61
+ Array(term.options[:index]).each do |index_as|
62
+ solr_doc[index_as] ||= []
63
+ if v.is_a? Nokogiri::XML::Node
64
+ solr_doc[index_as] << v.text
65
+ else
66
+ solr_doc[index_as] << v
67
+ end
68
+ end
69
+ end
70
+ end
71
+
72
+ solr_doc
73
+ end
74
+
75
+ def method_missing method, *args, &block
76
+ if ng_xml.respond_to? method
77
+ ng_xml.send(method, *args, &block)
78
+ else
79
+ super
80
+ end
81
+ end
82
+
83
+ def respond_to? *args
84
+ super || self.class.terminology.respond_to?(*args)
85
+ end
86
+ end
87
+ end
88
+
@@ -0,0 +1,7 @@
1
+ require "om"
2
+
3
+ module ActiveFedora
4
+ class OmDatastream < NokogiriDatastream
5
+ # right now, OmDatastream is just an alias for NokogiriDatastream
6
+ end
7
+ end
@@ -5,7 +5,7 @@ module ActiveFedora
5
5
  #Fedora Dublin Core XML datastreams structure.
6
6
  #
7
7
  #Fields can still be overridden if more specificity is desired (see ActiveFedora::Datastream#fields method).
8
- class QualifiedDublinCoreDatastream < NokogiriDatastream
8
+ class QualifiedDublinCoreDatastream < OmDatastream
9
9
 
10
10
  class_attribute :class_fields
11
11
  self.class_fields = []
@@ -156,8 +156,7 @@ module ActiveFedora
156
156
  end
157
157
 
158
158
  def save
159
- @content = serialize
160
-
159
+ @content = serialize if graph_changed? and content_will_change!
161
160
 
162
161
  super
163
162
  end
@@ -1,6 +1,6 @@
1
1
  module ActiveFedora
2
2
  #This class represents a simple xml datastream.
3
- class SimpleDatastream < NokogiriDatastream
3
+ class SimpleDatastream < OmDatastream
4
4
 
5
5
  class_attribute :class_fields
6
6
  self.class_fields = []
@@ -19,7 +19,7 @@ module ActiveFedora
19
19
  missing.each do |dsid|
20
20
  #Initialize the datastreams that are in the solr document, but not found in the classes spec.
21
21
  mime_type = profile_hash['datastreams'][dsid]['dsMIME']
22
- ds_class = mime_type =~ /[\/\+]xml$/ ? NokogiriDatastream : Datastream
22
+ ds_class = mime_type =~ /[\/\+]xml$/ ? OmDatastream : Datastream
23
23
  @datastreams[dsid] = ds_class.new(self, dsid)
24
24
  end
25
25
 
@@ -1,3 +1,3 @@
1
1
  module ActiveFedora
2
- VERSION = "5.2.0"
2
+ VERSION = "5.2.1"
3
3
  end
@@ -298,7 +298,7 @@ describe ActiveFedora::Base do
298
298
  end
299
299
 
300
300
  describe ".metadata_streams" do
301
- it "should return all of the datastreams from the object that are kinds of NokogiriDatastream " do
301
+ it "should return all of the datastreams from the object that are kinds of OmDatastream " do
302
302
  mds1 = ActiveFedora::SimpleDatastream.new(@test_object.inner_object, "md1")
303
303
  mds2 = ActiveFedora::QualifiedDublinCoreDatastream.new(@test_object.inner_object, "qdc")
304
304
  fds = ActiveFedora::Datastream.new(@test_object.inner_object, "fds")
@@ -7,8 +7,8 @@ describe ActiveFedora::Datastreams do
7
7
  describe "serializing datastreams" do
8
8
  before :all do
9
9
  class TestingMetadataSerializing < ActiveFedora::Base
10
- has_metadata :name => "nokogiri_autocreate_on", :autocreate => true, :type => ActiveFedora::NokogiriDatastream
11
- has_metadata :name => "nokogiri_autocreate_off", :autocreate => false, :type => ActiveFedora::NokogiriDatastream
10
+ has_metadata :name => "nokogiri_autocreate_on", :autocreate => true, :type => ActiveFedora::OmDatastream
11
+ has_metadata :name => "nokogiri_autocreate_off", :autocreate => false, :type => ActiveFedora::OmDatastream
12
12
  end
13
13
  end
14
14
 
@@ -28,7 +28,7 @@ describe ActiveFedora::Base do
28
28
  m.field "location", :string
29
29
  end
30
30
 
31
- # has_metadata :name=>"arbitrary_xml", :type=> ActiveFedora::NokogiriDatastream do |m|
31
+ # has_metadata :name=>"arbitrary_xml", :type=> ActiveFedora::OmDatastream do |m|
32
32
  # m.root_property :myxml, "my_xml", "http://www.example.gov/schema/v3"
33
33
  # end
34
34
 
@@ -26,6 +26,18 @@ describe ActiveFedora::NtriplesRDFDatastream do
26
26
  Object.send(:remove_const, :MyDatastream)
27
27
  end
28
28
 
29
+ it "should set and recall" do
30
+ @subject.title = "John Doe"
31
+ @subject.save
32
+ f = RdfTest.find(@subject.pid)
33
+ f.title.should == "John Doe"
34
+ f.title = "Jane Doe"
35
+ f.save
36
+ new_object = RdfTest.find(@subject.pid)
37
+ new_object.title.should == "Jane Doe"
38
+
39
+ end
40
+
29
41
  it "should set and recall values" do
30
42
  @subject.title = 'War and Peace'
31
43
  @subject.based_near = "Moscow, Russia"
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require "solrizer"
3
3
 
4
- describe ActiveFedora::NokogiriDatastream do
4
+ describe ActiveFedora::OmDatastream do
5
5
 
6
6
  before(:all) do
7
7
  class HydrangeaArticle2 < ActiveFedora::Base
@@ -1,7 +1,7 @@
1
1
  require "active-fedora"
2
2
  module Hydra
3
3
 
4
- # This is an example of a NokogiriDatastream that defines an OM terminology for MODS xml
4
+ # This is an example of a OmDatastream that defines an OM terminology for MODS xml
5
5
  # It focuses on the aspects of MODS that deal with descriptive metadata for published articles
6
6
  # This is not the hydra-head plugin version of this OM Terminology; See https://github.com/projecthydra/hydra-head/blob/master/lib/hydra/mods_article.rb
7
7
  #
@@ -18,7 +18,7 @@ module Hydra
18
18
  # * Defines a series of templates, person_template, organization_template, etc. for generating a whole set of xml nodes to insert into the document (note: the new OM::TemplateRegistry provides an even better way to do this)
19
19
  # * Defines a custom method, insert_contributor, that uses the Terminology to manipulate xml documents in specialized ways
20
20
  # * Defines a series of relator_term Hashes that can then be used when generating views, etc. In this case, the Hashes are hard-coded into the Class. Ideally, they might be read from a configuration file or mixed into the class using a module
21
- class ModsArticleDatastream < ActiveFedora::NokogiriDatastream
21
+ class ModsArticleDatastream < ActiveFedora::OmDatastream
22
22
 
23
23
  set_terminology do |t|
24
24
  t.root(:path=>"mods", :xmlns=>"http://www.loc.gov/mods/v3", :schema=>"http://www.loc.gov/standards/mods/v3/mods-3-2.xsd")
@@ -1,5 +1,5 @@
1
1
  module Hydra
2
- # This is an example of a NokogiriDatastream that defines a terminology for Hydra rightsMetadata xml
2
+ # This is an example of a OmDatastream that defines a terminology for Hydra rightsMetadata xml
3
3
  # The documentation for Hydra rightsMetadata is on the Hydra wiki at https://wiki.duraspace.org/display/hydra/Hydra+rights+metadata
4
4
  # The real version of this Terminology is part of the hydra-head plugin. See https://github.com/projecthydra/hydra-head/blob/master/lib/hydra/rights_metadata.rb
5
5
  #
@@ -12,7 +12,7 @@ module Hydra
12
12
  #
13
13
  # Another interesting thing in this Class: it extends to_solr, first calling "super" (the default to_solr behavior) and then inserting an additional embargo_release_date_dt field
14
14
  # It uses Solrizer::Extractor.insert_solr_field_value to do this. That method handles inserting new values into a Hash while ensuring that you don't destroy or overwrite any existing values in the hash.
15
- class RightsMetadataDatastream < ActiveFedora::NokogiriDatastream
15
+ class RightsMetadataDatastream < ActiveFedora::OmDatastream
16
16
 
17
17
  set_terminology do |t|
18
18
  t.root(:path=>"rightsMetadata", :xmlns=>"http://hydra-collab.stanford.edu/schemas/rightsMetadata/v1", :schema=>"http://github.com/projecthydra/schemas/tree/v1/rightsMetadata.xsd")
@@ -1,7 +1,7 @@
1
1
  require "active-fedora"
2
2
  module Marpa
3
3
 
4
- # This is an example of a NokogiriDatastream that defines a terminology for Dublin Core xml
4
+ # This is an example of a OmDatastream that defines a terminology for Dublin Core xml
5
5
  #
6
6
  # Some things to observe about this Class:
7
7
  # * Defines a couple of custom terms, tibetan_title and english_title, that map to dc:title with varying @language attributes
@@ -10,7 +10,7 @@ module Marpa
10
10
  # * Sets the namespace using :xmlns argument on the root term
11
11
  # * Does not override or extend to_solr, so the default solrization approach will be used (Solrizer::XML::TerminologyBasedSolrizer)
12
12
  #
13
- class DcDatastream < ActiveFedora::NokogiriDatastream
13
+ class DcDatastream < ActiveFedora::OmDatastream
14
14
 
15
15
  set_terminology do |t|
16
16
  t.root(:path=>"dc", :xmlns=>'http://purl.org/dc/terms/')
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe ActiveFedora::Base do
4
4
 
5
5
  describe "active model methods" do
6
- class BarStream < ActiveFedora::NokogiriDatastream
6
+ class BarStream < ActiveFedora::OmDatastream
7
7
  set_terminology do |t|
8
8
  t.root(:path=>"first", :xmlns=>"urn:foobar")
9
9
  t.duck()
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe ActiveFedora::Base do
4
4
 
5
5
  describe "first level delegation" do
6
- class BarStream2 < ActiveFedora::NokogiriDatastream
6
+ class BarStream2 < ActiveFedora::OmDatastream
7
7
  set_terminology do |t|
8
8
  t.root(:path=>"animals", :xmlns=>"urn:zoobar")
9
9
  t.waterfowl do
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe ActiveFedora::Base do
4
4
 
5
5
  describe "deletgating multiple terms to one datastream" do
6
- class BarnyardDocument < ActiveFedora::NokogiriDatastream
6
+ class BarnyardDocument < ActiveFedora::OmDatastream
7
7
  set_terminology do |t|
8
8
  t.root(:path=>"animals", :xmlns=>"urn:zoobar")
9
9
  t.waterfowl do
@@ -92,7 +92,7 @@ describe ActiveFedora::Base do
92
92
  delegate :swank, :to=>'someData'
93
93
  end
94
94
  class FooAdaptation < ActiveFedora::Base
95
- has_metadata :type=>ActiveFedora::NokogiriDatastream, :name=>'someData'
95
+ has_metadata :type=>ActiveFedora::OmDatastream, :name=>'someData'
96
96
  end
97
97
  end
98
98
 
@@ -145,7 +145,7 @@ describe ActiveFedora::Base do
145
145
 
146
146
  describe ".datastream_class_for_name" do
147
147
  it "should return the specifed class" do
148
- FooAdaptation.datastream_class_for_name('someData').should == ActiveFedora::NokogiriDatastream
148
+ FooAdaptation.datastream_class_for_name('someData').should == ActiveFedora::OmDatastream
149
149
  end
150
150
  it "should return the specifed class" do
151
151
  FooAdaptation.datastream_class_for_name('content').should == ActiveFedora::Datastream
@@ -367,7 +367,7 @@ describe ActiveFedora::Base do
367
367
  @test_object = FooHistory.new()
368
368
  adapted = @test_object.adapt_to(FooAdaptation)
369
369
  adapted.datastreams.keys.should include 'someData'
370
- adapted.datastreams['someData'].class.should == ActiveFedora::NokogiriDatastream
370
+ adapted.datastreams['someData'].class.should == ActiveFedora::OmDatastream
371
371
  end
372
372
  end
373
373
 
@@ -441,7 +441,7 @@ describe ActiveFedora::Base do
441
441
  solr_doc["active_fedora_model_field"].should eql(@test_object.class.inspect)
442
442
  end
443
443
 
444
- it "should call .to_solr on all SimpleDatastreams and NokogiriDatastreams, passing the resulting document to solr" do
444
+ it "should call .to_solr on all SimpleDatastreams and OmDatastreams, passing the resulting document to solr" do
445
445
  mock1 = mock("ds1", :to_solr => {})
446
446
  mock2 = mock("ds2", :to_solr => {})
447
447
  ngds = mock("ngds", :to_solr => {})
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe ActiveFedora::NomDatastream do
4
+ describe "test" do
5
+ subject {
6
+ class MyNomDatastream < ActiveFedora::NomDatastream
7
+
8
+ set_terminology do |t|
9
+ t.a :path => '//a', :accessor => lambda { |x| x.text }, :index => 'a_s'
10
+ t.b :path => '//b', :index => 'b_s'
11
+ end
12
+ end
13
+
14
+ MyNomDatastream.from_xml '<root><a>123</a><b><c>asdf</c></b></root>'
15
+ }
16
+
17
+ it "should work" do
18
+ subject.a.should include("123")
19
+ end
20
+
21
+ it "should to_solr" do
22
+ subject.to_solr['a_s'].should include('123')
23
+ subject.to_solr['b_s'].should include('asdf')
24
+ end
25
+ end
26
+ end
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
- describe ActiveFedora::NokogiriDatastream do
2
+ describe ActiveFedora::OmDatastream do
3
3
 
4
4
  before(:all) do
5
5
  @sample_fields = {:publisher => {:values => ["publisher1"], :type => :string},
@@ -19,7 +19,7 @@ describe ActiveFedora::NokogiriDatastream do
19
19
  @mock_inner.stub(:repository).and_return(@mock_repo)
20
20
  @mock_inner.stub(:pid)
21
21
  @mock_inner.stub(:new? => false)
22
- @test_ds = ActiveFedora::NokogiriDatastream.new(@mock_inner, "descMetadata")
22
+ @test_ds = ActiveFedora::OmDatastream.new(@mock_inner, "descMetadata")
23
23
  @test_ds.stub(:new? => false, :profile => {}, :datastream_content => '<test_xml/>')
24
24
  @test_ds.content="<test_xml/>"
25
25
  end
@@ -30,34 +30,34 @@ describe ActiveFedora::NokogiriDatastream do
30
30
  its(:metadata?) { should be_true}
31
31
 
32
32
  it "should include the Solrizer::XML::TerminologyBasedSolrizer for .to_solr support" do
33
- ActiveFedora::NokogiriDatastream.included_modules.should include(Solrizer::XML::TerminologyBasedSolrizer)
33
+ ActiveFedora::OmDatastream.included_modules.should include(Solrizer::XML::TerminologyBasedSolrizer)
34
34
  end
35
35
 
36
36
  describe '#new' do
37
37
  it 'should provide #new' do
38
- ActiveFedora::NokogiriDatastream.should respond_to(:new)
38
+ ActiveFedora::OmDatastream.should respond_to(:new)
39
39
  @test_ds.ng_xml.should be_instance_of(Nokogiri::XML::Document)
40
40
  end
41
41
  it 'should load xml from blob if provided' do
42
- test_ds1 = ActiveFedora::NokogiriDatastream.new(nil, 'ds1')
42
+ test_ds1 = ActiveFedora::OmDatastream.new(nil, 'ds1')
43
43
  test_ds1.content="<xml><foo/></xml>"
44
44
  test_ds1.ng_xml.to_xml.should == "<?xml version=\"1.0\"?>\n<xml>\n <foo/>\n</xml>\n"
45
45
  end
46
46
  it "should initialize from #xml_template if no xml is provided" do
47
- ActiveFedora::NokogiriDatastream.should_receive(:xml_template).and_return("<fake template/>")
48
- n = ActiveFedora::NokogiriDatastream.new
47
+ ActiveFedora::OmDatastream.should_receive(:xml_template).and_return("<fake template/>")
48
+ n = ActiveFedora::OmDatastream.new
49
49
  n.ng_xml.should be_equivalent_to("<fake template/>")
50
50
  end
51
51
  end
52
52
 
53
53
  describe '#xml_template' do
54
54
  it "should return an empty xml document" do
55
- ActiveFedora::NokogiriDatastream.xml_template.to_xml.should == "<?xml version=\"1.0\"?>\n<xml/>\n"
55
+ ActiveFedora::OmDatastream.xml_template.to_xml.should == "<?xml version=\"1.0\"?>\n<xml/>\n"
56
56
  end
57
57
  end
58
58
 
59
59
  describe "an instance" do
60
- subject { ActiveFedora::NokogiriDatastream.new }
60
+ subject { ActiveFedora::OmDatastream.new }
61
61
  it{ should.respond_to? :to_solr }
62
62
  its(:to_solr) {should == { }}
63
63
  end
@@ -153,7 +153,7 @@ describe ActiveFedora::NokogiriDatastream do
153
153
  @mods_ds.get_values("--my xpath--").should == ["value1", "value2"]
154
154
  end
155
155
  it "should assume that field_names that are strings are xpath queries" do
156
- ActiveFedora::NokogiriDatastream.should_receive(:accessor_xpath).never
156
+ ActiveFedora::OmDatastream.should_receive(:accessor_xpath).never
157
157
  @mods_ds.should_receive(:term_values).with("--my xpath--").and_return(["abstract1", "abstract2"])
158
158
  @mods_ds.get_values("--my xpath--").should == ["abstract1", "abstract2"]
159
159
  end
@@ -188,7 +188,7 @@ describe ActiveFedora::NokogiriDatastream do
188
188
  end
189
189
 
190
190
  describe '.content=' do
191
- subject { ActiveFedora::NokogiriDatastream.new(@mock_inner, "descMetadata") }
191
+ subject { ActiveFedora::OmDatastream.new(@mock_inner, "descMetadata") }
192
192
  it "should update the content" do
193
193
  subject.stub(:new? => false )
194
194
  subject.content = "<a />"
@@ -211,7 +211,7 @@ describe ActiveFedora::NokogiriDatastream do
211
211
 
212
212
  describe 'ng_xml=' do
213
213
  before do
214
- @test_ds2 = ActiveFedora::NokogiriDatastream.new(@mock_inner, "descMetadata")
214
+ @test_ds2 = ActiveFedora::OmDatastream.new(@mock_inner, "descMetadata")
215
215
  end
216
216
  it "should parse raw xml for you" do
217
217
  @test_ds2.ng_xml = @sample_raw_xml
@@ -275,7 +275,7 @@ describe ActiveFedora::NokogiriDatastream do
275
275
 
276
276
  describe '.get_values_from_solr' do
277
277
  before(:each) do
278
- @mods_ds = ActiveFedora::NokogiriDatastream.new
278
+ @mods_ds = ActiveFedora::OmDatastream.new
279
279
  @mods_ds.content=fixture(File.join("mods_articles","hydrangea_article1.xml")).read
280
280
  end
281
281
 
@@ -288,7 +288,7 @@ describe ActiveFedora::NokogiriDatastream do
288
288
  mock_term.stub(:type).and_return(:text)
289
289
  mock_terminology = mock("OM::XML::Terminology")
290
290
  mock_terminology.stub(:retrieve_term).and_return(mock_term)
291
- ActiveFedora::NokogiriDatastream.stub(:terminology).and_return(mock_terminology)
291
+ ActiveFedora::OmDatastream.stub(:terminology).and_return(mock_terminology)
292
292
  @mods_ds.from_solr(@solr_doc)
293
293
  term_pointer = [:name,:role,:roleTerm]
294
294
  @mods_ds.get_values_from_solr(:name,:role,:roleTerm).should == ["creator","submitter","teacher"]
@@ -331,7 +331,7 @@ describe ActiveFedora::NokogiriDatastream do
331
331
 
332
332
  describe '.update_values' do
333
333
  before(:each) do
334
- @mods_ds = ActiveFedora::NokogiriDatastream.new
334
+ @mods_ds = ActiveFedora::OmDatastream.new
335
335
  @mods_ds.content= fixture(File.join("mods_articles","hydrangea_article1.xml")).read
336
336
  end
337
337
 
@@ -363,7 +363,7 @@ describe ActiveFedora::NokogiriDatastream do
363
363
  describe '.term_values' do
364
364
 
365
365
  before(:each) do
366
- @mods_ds = ActiveFedora::NokogiriDatastream.new
366
+ @mods_ds = ActiveFedora::OmDatastream.new
367
367
  @mods_ds.content=fixture(File.join("mods_articles","hydrangea_article1.xml")).read
368
368
  end
369
369
 
@@ -30,14 +30,14 @@ describe ActiveFedora::SolrDigitalObject do
30
30
  end
31
31
  subject { ActiveFedora::SolrDigitalObject.new({}, {'datastreams'=>{'properties'=>{'dsMIME'=>'text/xml'}}},WithoutMetadataDs) }
32
32
  it "should create an xml datastream" do
33
- subject.datastreams['properties'].should be_kind_of ActiveFedora::NokogiriDatastream
33
+ subject.datastreams['properties'].should be_kind_of ActiveFedora::OmDatastream
34
34
  end
35
35
  end
36
36
 
37
37
  describe "with a ds spec that's not part of the solrized object" do
38
38
  before do
39
39
  class MissingMetadataDs < ActiveFedora::Base
40
- has_metadata :name => "foo", :type => ActiveFedora::NokogiriDatastream, :label => 'Foo Data'
40
+ has_metadata :name => "foo", :type => ActiveFedora::OmDatastream, :label => 'Foo Data'
41
41
  end
42
42
  after do
43
43
  Object.send(:remove_const, MissingMetadataDs)
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.2.0
4
+ version: 5.2.1
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-12-11 00:00:00.000000000 Z
14
+ date: 2012-12-12 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rsolr
@@ -36,7 +36,7 @@ dependencies:
36
36
  requirements:
37
37
  - - ~>
38
38
  - !ruby/object:Gem::Version
39
- version: 1.8.0.rc1
39
+ version: 1.8.0
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
@@ -44,7 +44,7 @@ dependencies:
44
44
  requirements:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: 1.8.0.rc1
47
+ version: 1.8.0
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: solrizer
50
50
  requirement: !ruby/object:Gem::Requirement
@@ -350,7 +350,9 @@ files:
350
350
  - lib/active_fedora/named_relationships.rb
351
351
  - lib/active_fedora/nested_attributes.rb
352
352
  - lib/active_fedora/nokogiri_datastream.rb
353
+ - lib/active_fedora/nom_datastream.rb
353
354
  - lib/active_fedora/ntriples_rdf_datastream.rb
355
+ - lib/active_fedora/om_datastream.rb
354
356
  - lib/active_fedora/persistence.rb
355
357
  - lib/active_fedora/predicates.rb
356
358
  - lib/active_fedora/property.rb
@@ -428,8 +430,8 @@ files:
428
430
  - spec/integration/model_spec.rb
429
431
  - spec/integration/mods_article_integration_spec.rb
430
432
  - spec/integration/nested_attribute_spec.rb
431
- - spec/integration/nokogiri_datastream_spec.rb
432
433
  - spec/integration/ntriples_datastream_spec.rb
434
+ - spec/integration/om_datastream_spec.rb
433
435
  - spec/integration/persistence_spec.rb
434
436
  - spec/integration/rels_ext_datastream_spec.rb
435
437
  - spec/integration/semantic_node_spec.rb
@@ -502,8 +504,9 @@ files:
502
504
  - spec/unit/has_many_collection_spec.rb
503
505
  - spec/unit/inheritance_spec.rb
504
506
  - spec/unit/model_spec.rb
505
- - spec/unit/nokogiri_datastream_spec.rb
507
+ - spec/unit/nom_datastream_spec.rb
506
508
  - spec/unit/ntriples_datastream_spec.rb
509
+ - spec/unit/om_datastream_spec.rb
507
510
  - spec/unit/persistence_spec.rb
508
511
  - spec/unit/predicates_spec.rb
509
512
  - spec/unit/property_spec.rb
@@ -544,7 +547,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
544
547
  version: '0'
545
548
  segments:
546
549
  - 0
547
- hash: 1765541384270860265
550
+ hash: -1381095155313457398
548
551
  requirements: []
549
552
  rubyforge_project: rubyfedora
550
553
  rubygems_version: 1.8.23
@@ -585,8 +588,8 @@ test_files:
585
588
  - spec/integration/model_spec.rb
586
589
  - spec/integration/mods_article_integration_spec.rb
587
590
  - spec/integration/nested_attribute_spec.rb
588
- - spec/integration/nokogiri_datastream_spec.rb
589
591
  - spec/integration/ntriples_datastream_spec.rb
592
+ - spec/integration/om_datastream_spec.rb
590
593
  - spec/integration/persistence_spec.rb
591
594
  - spec/integration/rels_ext_datastream_spec.rb
592
595
  - spec/integration/semantic_node_spec.rb
@@ -659,8 +662,9 @@ test_files:
659
662
  - spec/unit/has_many_collection_spec.rb
660
663
  - spec/unit/inheritance_spec.rb
661
664
  - spec/unit/model_spec.rb
662
- - spec/unit/nokogiri_datastream_spec.rb
665
+ - spec/unit/nom_datastream_spec.rb
663
666
  - spec/unit/ntriples_datastream_spec.rb
667
+ - spec/unit/om_datastream_spec.rb
664
668
  - spec/unit/persistence_spec.rb
665
669
  - spec/unit/predicates_spec.rb
666
670
  - spec/unit/property_spec.rb