active-fedora 2.2.2 → 2.2.3
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.
@@ -417,11 +417,27 @@ module ActiveFedora
|
|
417
417
|
case predicate
|
418
418
|
when :has_model, "hasModel", :hasModel
|
419
419
|
xmlns="info:fedora/fedora-system:def/model#"
|
420
|
+
begin
|
421
|
+
rel_predicate = self.class.predicate_lookup(predicate,xmlns)
|
422
|
+
rescue UnregisteredPredicateError
|
423
|
+
xmlns = nil
|
424
|
+
rel_predicate = nil
|
425
|
+
end
|
420
426
|
else
|
421
427
|
xmlns="info:fedora/fedora-system:def/relations-external#"
|
428
|
+
begin
|
429
|
+
rel_predicate = self.class.predicate_lookup(predicate,xmlns)
|
430
|
+
rescue UnregisteredPredicateError
|
431
|
+
xmlns = nil
|
432
|
+
rel_predicate = nil
|
433
|
+
end
|
434
|
+
end
|
435
|
+
|
436
|
+
unless xmlns && rel_predicate
|
437
|
+
rel_predicate, xmlns = self.class.find_predicate(predicate)
|
422
438
|
end
|
423
439
|
# puts ". #{predicate} #{target} #{xmlns}"
|
424
|
-
xml.root.elements["rdf:Description"].add_element(
|
440
|
+
xml.root.elements["rdf:Description"].add_element(rel_predicate, {"xmlns" => "#{xmlns}", "rdf:resource"=>target})
|
425
441
|
end
|
426
442
|
end
|
427
443
|
xml.to_s
|
@@ -747,7 +763,7 @@ module ActiveFedora
|
|
747
763
|
if predicate_mappings[namespace].has_key?(predicate)
|
748
764
|
return predicate_mappings[namespace][predicate]
|
749
765
|
else
|
750
|
-
|
766
|
+
raise ActiveFedora::UnregisteredPredicateError
|
751
767
|
end
|
752
768
|
end
|
753
769
|
return predicate
|
@@ -764,7 +780,21 @@ module ActiveFedora
|
|
764
780
|
def default_predicate_namespace
|
765
781
|
predicate_config[:default_namespace]
|
766
782
|
end
|
783
|
+
|
784
|
+
def find_predicate(predicate)
|
785
|
+
predicate_mappings.each do |namespace,predicates|
|
786
|
+
if predicates.fetch(predicate,nil)
|
787
|
+
return predicates[predicate], namespace
|
788
|
+
end
|
789
|
+
end
|
790
|
+
debugger
|
791
|
+
raise ActiveFedora::UnregisteredPredicateError
|
792
|
+
end
|
793
|
+
|
767
794
|
|
768
795
|
end
|
769
796
|
end
|
797
|
+
|
798
|
+
class UnregisteredPredicateError < RuntimeError; end
|
799
|
+
|
770
800
|
end
|
data/lib/fedora/fedora_object.rb
CHANGED
@@ -63,4 +63,12 @@ describe Fedora::FedoraObject do
|
|
63
63
|
|
64
64
|
end
|
65
65
|
|
66
|
+
describe ".owner_id=" do
|
67
|
+
it "should update the attributes hash with ownerId attribute" do
|
68
|
+
@test_object.owner_id.should be_nil
|
69
|
+
@test_object.owner_id="fooTest"
|
70
|
+
@test_object.attributes[:ownerId].should == "fooTest"
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
66
74
|
end
|
@@ -495,6 +495,11 @@ describe ActiveFedora::SemanticNode do
|
|
495
495
|
SpecNode.predicate_lookup(:is_part_of).should == "isPartOf"
|
496
496
|
SpecNode.predicate_lookup(:is_member_of).should == "isMemberOf"
|
497
497
|
SpecNode.predicate_lookup("isPartOfCollection").should == "isPartOfCollection"
|
498
|
+
SpecNode.predicate_config[:predicate_mapping].merge!({"some_namespace"=>{:has_foo=>"hasFOO"}})
|
499
|
+
SpecNode.find_predicate(:has_foo).should == ["hasFOO","some_namespace"]
|
500
|
+
SpecNode.predicate_lookup(:has_foo,"some_namespace").should == "hasFOO"
|
501
|
+
#SpecNode.predicate_lookup(:has_foo)
|
502
|
+
lambda { SpecNode.predicate_lookup(:has_foo) }.should raise_error ActiveFedora::UnregisteredPredicateError
|
498
503
|
end
|
499
504
|
|
500
505
|
it 'should provide #relationships_to_rels_ext' do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active-fedora
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 1
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 2.2.
|
9
|
+
- 3
|
10
|
+
version: 2.2.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Matt Zumwalt
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-06-
|
19
|
+
date: 2011-06-17 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: solr-ruby
|