active-fedora 5.2.0 → 5.2.1

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