active-fedora 6.6.0.rc5 → 6.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c25ddcf281f3eb10b558ee44dc144880d3551c31
4
- data.tar.gz: f2f13e587a927cfe015eec879a023c8407eb2fac
3
+ metadata.gz: ef5496bb9123668b10de796159b394a50a1ec1da
4
+ data.tar.gz: 70b9bf4b2d64f1f0a6ffd3b5eb81dca852f47cd6
5
5
  SHA512:
6
- metadata.gz: 317a0a139aa98883265545996a6587a8f26020a38d3aefbd001770f30c756a35c60079b49b9cd9deabf6ac357f7d204b2f36191b1b222af165e43a186bddd88d
7
- data.tar.gz: 5777d15192af9d28f43f59c6f27640b55419cb74fc50df642981d038825a259504e54d086a9694eedec07ae700890cae55125fa8a70a8f147529a2e62606c59e
6
+ metadata.gz: c87b4be4a4d26c6424cdfa4d7ca73981760fa36d9f91b3e62ecf8396153ee581914f594cdb9a4edaaca1c73f52332ffba2b78af3f0dd57bee176add2e0381d1c
7
+ data.tar.gz: 15f245fddca1d9fb480cca04e41708e4e2fc1ec8cecd23409346101295bedecd286517e55b19d1420ba4511d076842f141d1171f9d16198b5ff6b3d9d3a11bc6
@@ -1,4 +1,8 @@
1
- v6.6.0 (rc5)
1
+ v6.6.0
2
+ Add _destroy method for building nested forms [Justin Coyne]
3
+ Removed the pid placeholder `__DO_NOT_USE__` [Justin Coyne]
4
+ Allow relationships to accept instances of RDF::URI as their predicates [Justin Coyne]
5
+ Remove internal deprecation [Justin Coyne]
2
6
  Gracefully handle an ObjectNotFound in find_all [Justin Coyne]
3
7
  Revert "Removed unused code that breaks certain use cases (Fixes #234)." [Jeremy Friesen]
4
8
  Removed unset opts parameter from call to reify_solr_results, introduced in PR #236. [David Chandek-Stark]
@@ -7,7 +11,18 @@ Fix deprecation warning when using the ids setter of a has_many collection relat
7
11
  Fix deprecation warning when loading a has_many association [Justin Coyne]
8
12
  Explicitly set cast to false on reload to avoid deprecation warnings [Justin Coyne]
9
13
  Cast relationship results if class is ActiveFedora::Base [Justin Coyne]
10
- * Need to put changes for rc1 here*
14
+ Adding a loop for getting more than solr_page_size (default 200) results in an has and belongs to many association [Carolyn Cole]
15
+ Fixed syntax error on hash [Justin Coyne]
16
+ Set cast parameter to avoid a deprecation warning [Justin Coyne]
17
+ Only deprecate the cast parameter to find when on ActiveFedora::Base [Justin Coyne]
18
+ Deprecate .find's cast default option [Jeremy Friesen]
19
+ Remove outdated fixture loading line from README. [Steven Anderson]
20
+ Support for extended cmodels (read-only) [Steven Anderson]
21
+ Fix tense on deprecation warning [Steven Anderson]
22
+ Fix tense on deprecation warning [Justin Coyne]
23
+ delegate and delegate_to should use 'multiple' rather than 'unique'. Ref #147 [Justin Coyne]
24
+ Deprecated find(:all), find(:first), find(:last) [Justin Coyne]
25
+ Prevent infinite loop when Fedora and Solr are out of sync (fixes #199) [Michael B. Klein]
11
26
 
12
27
  v6.5.1 (2013-09-10)
13
28
 
@@ -74,7 +89,6 @@ An rdf node should be able to set rdf:about [Justin Coyne]
74
89
 
75
90
  Remove RdfObject#get_values, it's inherited [Justin Coyne]
76
91
 
77
-
78
92
  v6.4.4 (2013-07-29)
79
93
 
80
94
  Bumping to version 6.4.4 [Jeremy Friesen]
@@ -227,7 +227,8 @@ module ActiveFedora
227
227
  end
228
228
 
229
229
  redefine_method("#{reflection.name}_id=") do |new_value|
230
- obj = new_value.blank? ? nil : reflection.klass.find(new_value)
230
+ options = reflection.klass == ActiveFedora::Base ? {cast: true} : {}
231
+ obj = new_value.blank? ? nil : reflection.klass.find(new_value, options)
231
232
  send("#{reflection.name}=", obj)
232
233
  end
233
234
  redefine_method("#{reflection.name}_id") do
@@ -71,11 +71,6 @@ module ActiveFedora
71
71
  @marked_for_destruction
72
72
  end
73
73
 
74
- def reload(options = nil)
75
- @marked_for_destruction = false
76
- super
77
- end
78
-
79
74
  # Constructor. You may supply a custom +:pid+, or we call the Fedora Rest API for the
80
75
  # next available Fedora pid, and mark as new object.
81
76
  # Also, if +attrs+ does not contain +:pid+ but does contain +:namespace+ it will pass the
@@ -96,6 +91,7 @@ module ActiveFedora
96
91
 
97
92
  # Reloads the object from Fedora.
98
93
  def reload
94
+ raise ActiveFedora::ObjectNotFoundError, "Can't reload an object that hasn't been saved" unless persisted?
99
95
  clear_association_cache
100
96
  init_with(self.class.find(self.pid, cast: false).inner_object)
101
97
  end
@@ -49,7 +49,7 @@ module ActiveFedora
49
49
  # @param [Hash] solr_doc @deafult an empty Hash
50
50
  def solrize_relationships(solr_doc = Hash.new)
51
51
  relationships.each_statement do |statement|
52
- predicate = RelsExtDatastream.short_predicate(statement.predicate)
52
+ predicate = Predicates.short_predicate(statement.predicate)
53
53
  literal = statement.object.kind_of?(RDF::Literal)
54
54
  val = literal ? statement.object.value : statement.object.to_str
55
55
  ::Solrizer::Extractor.insert_solr_field_value(solr_doc, solr_name(predicate, :symbol), val )
@@ -92,6 +92,15 @@ module ActiveFedora
92
92
  end
93
93
  end
94
94
 
95
+ # Returns ActiveFedora::Base#marked_for_destruction? It's
96
+ # used in conjunction with fields_for to build a form element for the
97
+ # destruction of this association.
98
+ #
99
+ # See ActionView::Helpers::FormHelper::fields_for for more info.
100
+ def _destroy
101
+ marked_for_destruction?
102
+ end
103
+
95
104
  private
96
105
 
97
106
  # Attribute hash keys that should not be assigned as normal attributes.
@@ -1,5 +1,18 @@
1
1
  module ActiveFedora
2
2
  module Predicates
3
+ def self.short_predicate(predicate)
4
+ # for this regex to short-circuit correctly, namespaces must be sorted into descending order by length
5
+ if match = /^(#{Predicates.predicate_mappings.keys.sort.reverse.join('|')})(.+)$/.match(predicate.to_str)
6
+ namespace = match[1]
7
+ predicate = match[2]
8
+ Predicates.predicate_mappings[namespace].invert[predicate]
9
+ elsif predicate.kind_of? RDF::URI
10
+ predicate.to_s.split('/', 4).last.gsub(/(\/|#)/, '_').underscore
11
+ else
12
+ raise "Unable to parse predicate: #{predicate}"
13
+ end
14
+ end
15
+
3
16
  def self.find_graph_predicate(predicate)
4
17
  #TODO, these could be cached
5
18
  case predicate
@@ -10,44 +10,47 @@ module ActiveFedora
10
10
  end
11
11
 
12
12
  def has_predicate?(predicate)
13
- relationships.has_key? predicate
13
+ relationships.has_key? uri_predicate(predicate)
14
14
  end
15
15
 
16
16
  def add(predicate, object, literal=false)
17
- unless relationships.has_key? predicate
18
- relationships[predicate] = []
17
+ uri = uri_predicate(predicate)
18
+ unless has_predicate? uri
19
+ relationships[uri] = []
19
20
  end
20
21
  object = RDF::Literal.new(object) if literal
21
- unless relationships[predicate].include?(object)
22
+ unless relationships[uri].include?(object)
22
23
  @dirty = true
23
- relationships[predicate] << object
24
+ relationships[uri] << object
24
25
  end
25
26
  end
26
27
 
27
28
  # Remove the statement matching the predicate and object
28
- # [predicate] the predicate to delete
29
- # [object] the object to delete, if nil, all statements with this predicate are deleted.
29
+ # @param predicate [Symbol, URI] the predicate to delete
30
+ # @param object the object to delete, if nil, all statements with this predicate are deleted.
30
31
  def delete(predicate, object = nil)
31
- return unless relationships.has_key? predicate
32
+ uri = uri_predicate(predicate)
33
+ return unless has_predicate? uri
32
34
  if object.nil?
33
35
  @dirty = true
34
- relationships.delete(predicate)
36
+ relationships.delete(uri)
35
37
  return
36
38
  end
37
- if relationships[predicate].include?(object)
39
+ if relationships[uri].include?(object)
38
40
  @dirty = true
39
- relationships[predicate].delete(object)
41
+ relationships[uri].delete(object)
40
42
  end
41
- if object.respond_to?(:internal_uri) && relationships[predicate].include?(object.internal_uri)
43
+ if object.respond_to?(:internal_uri) && relationships[uri].include?(object.internal_uri)
42
44
  @dirty = true
43
- relationships[predicate].delete(object.internal_uri)
45
+ relationships[uri].delete(object.internal_uri)
44
46
  elsif object.is_a? String
45
- relationships[predicate].delete_if{|obj| obj.respond_to?(:internal_uri) && obj.internal_uri == object}
47
+ relationships[uri].delete_if{|obj| obj.respond_to?(:internal_uri) && obj.internal_uri == object}
46
48
  end
47
49
  end
48
50
 
49
51
  def [](predicate)
50
- relationships[predicate]
52
+ uri = uri_predicate(predicate)
53
+ relationships[uri]
51
54
  end
52
55
 
53
56
  def to_graph(subject_uri)
@@ -65,7 +68,7 @@ module ActiveFedora
65
68
 
66
69
  # Create an RDF statement
67
70
  # @param uri a string represending the subject
68
- # @param predicate a predicate symbol
71
+ # @param predicate [Symbol, URI] a predicate
69
72
  # @param target an object to store
70
73
  def build_statement(uri, predicate, target)
71
74
  raise "Not allowed anymore" if uri == :self
@@ -87,10 +90,14 @@ module ActiveFedora
87
90
  end
88
91
  object = RDF::URI.new(target)
89
92
  end
90
- predicate = ActiveFedora::Predicates.find_graph_predicate(predicate) unless predicate.kind_of? RDF::URI
91
- RDF::Statement.new(subject, predicate, object)
93
+ RDF::Statement.new(subject, uri_predicate(predicate), object)
92
94
 
93
95
  end
94
96
 
97
+ def uri_predicate(predicate)
98
+ return predicate if predicate.kind_of? RDF::URI
99
+ ActiveFedora::Predicates.find_graph_predicate(predicate)
100
+ end
101
+
95
102
  end
96
103
  end
@@ -52,9 +52,8 @@ module ActiveFedora
52
52
  RDF::RDFXML::Reader.new(xml) do |reader|
53
53
  reader.each_statement do |statement|
54
54
  literal = statement.object.kind_of?(RDF::Literal)
55
- predicate = self.short_predicate(statement.predicate)
56
55
  object = literal ? statement.object.value : statement.object.to_str
57
- tmpl.model.add_relationship(predicate, object, literal)
56
+ tmpl.model.add_relationship(statement.predicate, object, literal)
58
57
  end
59
58
  end
60
59
  tmpl.relationships_are_not_dirty!
@@ -91,19 +90,6 @@ module ActiveFedora
91
90
  end
92
91
  end
93
92
 
94
- def self.short_predicate(predicate)
95
- # for this regex to short-circuit correctly, namespaces must be sorted into descending order by length
96
- if match = /^(#{Predicates.predicate_mappings.keys.sort.reverse.join('|')})(.+)$/.match(predicate.to_str)
97
- namespace = match[1]
98
- predicate = match[2]
99
- pred = Predicates.predicate_mappings[namespace].invert[predicate]
100
- pred
101
- else
102
- raise "Unable to parse predicate: #{predicate}"
103
- end
104
- end
105
-
106
-
107
93
  # ** EXPERIMENTAL **
108
94
  #
109
95
  # This is utilized by ActiveFedora::Base.load_instance_from_solr to load
@@ -23,7 +23,7 @@ module ActiveFedora
23
23
  end
24
24
 
25
25
  # Add a relationship to the Object.
26
- # @param predicate
26
+ # @param predicate [Symbol] The short version of the predicate
27
27
  # @param target Either a string URI or an object that is a kind of ActiveFedora::Base
28
28
  def add_relationship(predicate, target, literal=false)
29
29
  object_relations.add(predicate, target, literal)
@@ -4,7 +4,7 @@ module ActiveFedora
4
4
  include DigitalObject::DatastreamBootstrap
5
5
  attr_accessor :original_class, :ownerId, :state, :datastreams, :label, :namespace
6
6
 
7
- PLACEHOLDER = '__DO_NOT_USE__'
7
+ PLACEHOLDER = nil
8
8
 
9
9
  def initialize(original_class, namespace, pid=nil)
10
10
  @pid = pid
@@ -1,3 +1,3 @@
1
1
  module ActiveFedora
2
- VERSION = "6.6.0.rc5"
2
+ VERSION = "6.6.0"
3
3
  end
@@ -1,6 +1,30 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe ActiveFedora::Base do
4
+ describe "use a URI as the property" do
5
+ before do
6
+ class Book < ActiveFedora::Base
7
+ belongs_to :author, :property=>RDF::DC.creator, :class_name=>'Person'
8
+ end
9
+
10
+ class Person < ActiveFedora::Base
11
+ end
12
+ end
13
+
14
+ after do
15
+ Object.send(:remove_const, :Book)
16
+ Object.send(:remove_const, :Person)
17
+ end
18
+
19
+ let(:person) { Person.create}
20
+ let(:book) { Book.new(author: person) }
21
+
22
+ it "should go" do
23
+ book.save
24
+ end
25
+
26
+ end
27
+
4
28
  describe "complex example" do
5
29
  before do
6
30
  class Library < ActiveFedora::Base
@@ -473,6 +497,32 @@ describe ActiveFedora::Base do
473
497
  end
474
498
  end
475
499
 
500
+ describe "belongs_to when class_name is ActiveFedora::Base" do
501
+ before :all do
502
+ class Textbook < ActiveFedora::Base
503
+ belongs_to :container, :property=>:is_part_of, :class_name=>'ActiveFedora::Base'
504
+ end
505
+ class Shelf < ActiveFedora::Base; end
506
+ end
507
+
508
+ after :all do
509
+ Object.send(:remove_const, :Textbook)
510
+ Object.send(:remove_const, :Shelf)
511
+ end
512
+
513
+ after do
514
+ shelf.destroy
515
+ end
516
+
517
+ let(:shelf) { Shelf.create}
518
+ subject { Textbook.new }
519
+
520
+ it "Should not raise a deprecation message" do
521
+ Deprecation.should_not_receive(:warn) # a deprecation in 6.6.0 that's going away in 7.0.0
522
+ subject.container_id = shelf.id
523
+ end
524
+ end
525
+
476
526
  describe "single direction habtm" do
477
527
  before :all do
478
528
  class Course < ActiveFedora::Base
@@ -801,10 +851,6 @@ describe ActiveFedora::Base do
801
851
  @simple_collection = SimpleCollection.create
802
852
  @complex_collection = ComplexCollection.create
803
853
 
804
- #Need to add the simpler cmodel here as currently inheritance support is read-only.
805
- #See ActiveFedora pull request 207 on how to do this programmatically.
806
- @complex_collection.add_relationship(:has_model, @complex_object.class.superclass.to_class_uri)
807
-
808
854
  @simple_object = SimpleObject.create
809
855
  @simple_object_second = SimpleObject.create
810
856
  @complex_object = ComplexObject.create
@@ -860,4 +906,4 @@ describe ActiveFedora::Base do
860
906
  end
861
907
  end
862
908
  end
863
- end
909
+ end
@@ -43,6 +43,10 @@ describe "NestedAttribute behavior" do
43
43
  end
44
44
  end
45
45
 
46
+ it "should have _destroy" do
47
+ Bar.new._destroy.should be_false
48
+ end
49
+
46
50
  it "should update the child objects" do
47
51
  @car, @bar1, @bar2 = create_car_with_bars
48
52
 
@@ -147,8 +147,8 @@ describe ActiveFedora::NtriplesRDFDatastream do
147
147
  end
148
148
 
149
149
  it "should write rdf with proper subjects" do
150
- @subject.rdf.type = "Frog"
151
150
  @subject.inner_object.pid = 'test:99'
151
+ @subject.rdf.type = "Frog"
152
152
  @subject.save!
153
153
  @subject.reload
154
154
  @subject.rdf.graph.dump(:ntriples).should == "<http://oregondigital.org/ns/99> <http://purl.org/dc/terms/type> \"Frog\" .\n"
@@ -60,7 +60,7 @@ describe ActiveFedora::Base do
60
60
  it "should delete object from repository and index" do
61
61
  @test_object.inner_object.stub(:delete)
62
62
  mock_conn = double("SolrConnection")
63
- mock_conn.should_receive(:delete_by_id).with("__DO_NOT_USE__")
63
+ mock_conn.should_receive(:delete_by_id).with(nil)
64
64
  mock_conn.should_receive(:commit)
65
65
  mock_ss = double("SolrService")
66
66
  mock_ss.stub(:conn).and_return(mock_conn)
@@ -202,10 +202,9 @@ describe ActiveFedora::Base do
202
202
 
203
203
  ### Methods for ActiveModel::Conversions
204
204
  it "should have to_param once it's saved" do
205
-
206
205
  @test_object.to_param.should be_nil
207
- @test_object.inner_object.stub(:new? => false)
208
- @test_object.to_param.should == @test_object.pid
206
+ @test_object.inner_object.stub(:new? => false, :pid => 'foo:123')
207
+ @test_object.to_param.should == 'foo:123'
209
208
  end
210
209
 
211
210
  it "should have to_key once it's saved" do
@@ -448,12 +447,13 @@ describe ActiveFedora::Base do
448
447
  it "should add pid, system_create_date, system_modified_date and object_state from object attributes" do
449
448
  @test_object.should_receive(:create_date).and_return("2012-03-04T03:12:02Z")
450
449
  @test_object.should_receive(:modified_date).and_return("2012-03-07T03:12:02Z")
450
+ @test_object.stub(pid: 'changeme:123')
451
451
  @test_object.state = "D"
452
452
  solr_doc = @test_object.to_solr
453
453
  solr_doc[ActiveFedora::SolrService.solr_name("system_create", :stored_sortable, type: :date)].should eql("2012-03-04T03:12:02Z")
454
454
  solr_doc[ActiveFedora::SolrService.solr_name("system_modified", :stored_sortable, type: :date)].should eql("2012-03-07T03:12:02Z")
455
455
  solr_doc[ActiveFedora::SolrService.solr_name("object_state", :stored_sortable)].should eql("D")
456
- solr_doc[:id].should eql("#{@test_object.pid}")
456
+ solr_doc[:id].should eql("changeme:123")
457
457
  end
458
458
 
459
459
  it "should omit base metadata and RELS-EXT if :model_only==true" do
@@ -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 @pid=\"__DO_NOT_USE__\" @dsid=\"abcd\" @controlGroup=\"M\" changed=\"true\" @mimeType=\"\" >/
22
+ @test_datastream.inspect.should match /#<ActiveFedora::Datastream @pid=\"\" @dsid=\"abcd\" @controlGroup=\"M\" changed=\"true\" @mimeType=\"\" >/
23
23
  end
24
24
 
25
25
  describe '#validate_content_present' do
@@ -1,7 +1,32 @@
1
1
  require 'spec_helper'
2
2
 
3
-
4
3
  describe ActiveFedora::Predicates do
4
+ describe "#short_predicate" do
5
+ it 'should parse strings' do
6
+ ActiveFedora::Predicates.short_predicate('http://www.openarchives.org/OAI/2.0/itemID').should == :oai_item_id
7
+ end
8
+ it 'should parse uris' do
9
+ ActiveFedora::Predicates.short_predicate(RDF::DC.creator).should == 'dc_terms_creator'
10
+ ActiveFedora::Predicates.short_predicate(RDF::SKOS.hasTopConcept).should == '2004_02_skos_core_has_top_concept'
11
+ end
12
+ before(:all) do
13
+ @original_mapping = ActiveFedora::Predicates.predicate_config[:predicate_mapping]
14
+ end
15
+ after(:all) do
16
+ ActiveFedora::Predicates.predicate_config[:predicate_mapping] = @original_mapping
17
+ end
18
+ it "should find predicates regardless of order loaded or shared namespace prefixes" do
19
+ ActiveFedora::Predicates.predicate_config[:predicate_mapping] = {
20
+ "http://example.org/"=>{:ceo => 'Manager'},
21
+ "http://example.org/zoo/wolves/"=>{:alpha => 'Manager'},
22
+ "http://example.org/zoo/"=>{:keeper => 'Manager'}
23
+ }
24
+ ActiveFedora::Predicates.short_predicate("http://example.org/zoo/Manager").should == :keeper
25
+ ActiveFedora::Predicates.short_predicate("http://example.org/zoo/wolves/Manager").should == :alpha
26
+ ActiveFedora::Predicates.short_predicate("http://example.org/Manager").should == :ceo
27
+ end
28
+ end
29
+
5
30
  it 'should provide .default_predicate_namespace' do
6
31
  ActiveFedora::Predicates.default_predicate_namespace.should == 'info:fedora/fedora-system:def/relations-external#'
7
32
  end
@@ -13,8 +13,8 @@ describe ActiveFedora::RelationshipGraph do
13
13
  end
14
14
 
15
15
  it "should initialize new relation keys" do
16
- @graph[:fictional_key].should be_empty
17
- @graph[:fictional_key].should respond_to(:<<)
16
+ @graph[:has_description].should be_empty
17
+ @graph[:has_description].should respond_to(:<<)
18
18
  end
19
19
 
20
20
  end
@@ -22,11 +22,11 @@ describe ActiveFedora::RelationshipGraph do
22
22
  it "should add relationships" do
23
23
  @n2 = ActiveFedora::Base.new
24
24
  @graph.add(:has_part, @n1)
25
- @graph.relationships[:has_part].should == [@n1]
25
+ @graph[:has_part].should == [@n1]
26
26
  @graph.add(:has_part, @n2)
27
- @graph.relationships[:has_part].should == [@n1, @n2]
27
+ @graph[:has_part].should == [@n1, @n2]
28
28
  @graph.add(:has_part, @n2)
29
- @graph.relationships[:has_part].should == [@n1, @n2]
29
+ @graph[:has_part].should == [@n1, @n2]
30
30
  @graph.dirty.should be_true
31
31
  end
32
32
 
@@ -1,12 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe ActiveFedora::RelsExtDatastream do
4
- describe "short_predicate" do
5
- it 'should parse' do
6
- ActiveFedora::RelsExtDatastream.short_predicate('http://www.openarchives.org/OAI/2.0/itemID').should == :oai_item_id
7
- end
8
- end
9
-
10
4
  before(:all) do
11
5
  @pid = "test:sample_pid"
12
6
 
@@ -172,22 +166,4 @@ describe ActiveFedora::RelsExtDatastream do
172
166
  end
173
167
  end
174
168
 
175
- describe "#short_predicate" do
176
- before(:all) do
177
- @original_mapping = ActiveFedora::Predicates.predicate_config[:predicate_mapping]
178
- end
179
- after(:all) do
180
- ActiveFedora::Predicates.predicate_config[:predicate_mapping] = @original_mapping
181
- end
182
- it "should find predicates regardless of order loaded or shared namespace prefixes" do
183
- ActiveFedora::Predicates.predicate_config[:predicate_mapping] = {
184
- "http://example.org/"=>{:ceo => 'Manager'},
185
- "http://example.org/zoo/wolves/"=>{:alpha => 'Manager'},
186
- "http://example.org/zoo/"=>{:keeper => 'Manager'}
187
- }
188
- ActiveFedora::RelsExtDatastream.short_predicate("http://example.org/zoo/Manager").should == :keeper
189
- ActiveFedora::RelsExtDatastream.short_predicate("http://example.org/zoo/wolves/Manager").should == :alpha
190
- ActiveFedora::RelsExtDatastream.short_predicate("http://example.org/Manager").should == :ceo
191
- end
192
- end
193
169
  end
@@ -90,7 +90,7 @@ describe ActiveFedora::SemanticNode do
90
90
  it "should not be written into the graph until it is saved" do
91
91
  @n1 = ActiveFedora::Base.new
92
92
  @node.add_relationship(:has_part, @n1)
93
- @node.relationships.statements.to_a.first.object.to_s.should == 'info:fedora/__DO_NOT_USE__'
93
+ @node.relationships.statements.to_a.first.object.to_s.should == 'info:fedora/'
94
94
  @n1.save
95
95
  @node.relationships.statements.to_a.first.object.to_s.should == @n1.internal_uri
96
96
  end
@@ -117,12 +117,12 @@ describe ActiveFedora::SemanticNode do
117
117
  before do
118
118
  @node.add_relationship(:is_member_of, 'demo:9')
119
119
  @node.add_relationship(:is_member_of, 'demo:7')
120
- @node.add_relationship(:is_brother_of, 'demo:9')
120
+ @node.add_relationship(:has_description, 'demo:9')
121
121
  end
122
122
  it "should clear the specified relationship" do
123
123
  @node.clear_relationship(:is_member_of)
124
124
  @node.relationships(:is_member_of).should == []
125
- @node.relationships(:is_brother_of).should == ['demo:9']
125
+ @node.relationships(:has_description).should == ['demo:9']
126
126
  end
127
127
 
128
128
  end
@@ -27,8 +27,9 @@ describe ActiveFedora do
27
27
  SOLR_DOCUMENT_ID = "id"
28
28
  end
29
29
  it "should be used by ActiveFedora::Base.to_solr" do
30
+ @test_object.stub(pid: 'changeme:123')
30
31
  SOLR_DOCUMENT_ID = "MY_SAMPLE_ID"
31
- @test_object.to_solr[SOLR_DOCUMENT_ID.to_sym].should_not be_nil
32
+ @test_object.to_solr[SOLR_DOCUMENT_ID.to_sym].should == 'changeme:123'
32
33
  @test_object.to_solr[:id].should be_nil
33
34
  end
34
35
 
@@ -16,8 +16,8 @@ describe ActiveFedora::UnsavedDigitalObject do
16
16
  @obj.ownerId.should == 'D'
17
17
  end
18
18
 
19
- it "should have a default pid" do
20
- @obj.pid.should == "__DO_NOT_USE__"
19
+ it "should not have a default pid" do
20
+ @obj.pid.should be_nil
21
21
  end
22
22
  it "should be able to set the pid" do
23
23
  @obj.pid = "my:new_object"
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: 6.6.0.rc5
4
+ version: 6.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Zumwalt
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-10-04 00:00:00.000000000 Z
13
+ date: 2013-10-09 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rsolr
@@ -550,9 +550,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
550
550
  version: 1.9.3
551
551
  required_rubygems_version: !ruby/object:Gem::Requirement
552
552
  requirements:
553
- - - '>'
553
+ - - '>='
554
554
  - !ruby/object:Gem::Version
555
- version: 1.3.1
555
+ version: '0'
556
556
  requirements: []
557
557
  rubyforge_project:
558
558
  rubygems_version: 2.0.5