active-fedora 9.6.2 → 9.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.txt +19 -0
- data/lib/active_fedora/associations/indirectly_contains_association.rb +1 -1
- data/lib/active_fedora/attached_files.rb +1 -1
- data/lib/active_fedora/attributes/active_triple_attribute.rb +2 -2
- data/lib/active_fedora/errors.rb +1 -1
- data/lib/active_fedora/fedora_attributes.rb +2 -0
- data/lib/active_fedora/file.rb +2 -2
- data/lib/active_fedora/file_configurator.rb +7 -0
- data/lib/active_fedora/indexing.rb +2 -2
- data/lib/active_fedora/loadable_from_json.rb +5 -1
- data/lib/active_fedora/om_datastream.rb +1 -1
- data/lib/active_fedora/persistence.rb +11 -7
- data/lib/active_fedora/relation/finder_methods.rb +1 -1
- data/lib/active_fedora/solr_query_builder.rb +3 -3
- data/lib/active_fedora/version.rb +1 -1
- data/lib/generators/active_fedora/model/templates/model.rb.erb +4 -4
- data/spec/integration/associations_spec.rb +1 -1
- data/spec/integration/attributes_spec.rb +1 -1
- data/spec/integration/base_spec.rb +2 -2
- data/spec/integration/caching_spec.rb +1 -1
- data/spec/integration/clean_connection_spec.rb +2 -2
- data/spec/integration/collection_association_spec.rb +1 -1
- data/spec/integration/complex_rdf_datastream_spec.rb +5 -5
- data/spec/integration/contains_association_spec.rb +1 -1
- data/spec/integration/datastream_rdf_nested_attributes_spec.rb +3 -3
- data/spec/integration/date_time_properties_spec.rb +6 -2
- data/spec/integration/field_to_solr_name_spec.rb +2 -2
- data/spec/integration/gone_spec.rb +41 -0
- data/spec/integration/has_and_belongs_to_many_associations_spec.rb +1 -1
- data/spec/integration/has_many_associations_spec.rb +1 -1
- data/spec/integration/indirect_container_spec.rb +9 -2
- data/spec/integration/json_serialization_spec.rb +3 -3
- data/spec/integration/nested_hash_resources_spec.rb +2 -2
- data/spec/integration/ntriples_datastream_spec.rb +5 -5
- data/spec/integration/rdf_nested_attributes_spec.rb +1 -1
- data/spec/integration/solr_instance_loader_spec.rb +3 -3
- data/spec/integration/versionable_spec.rb +2 -2
- data/spec/integration/with_metadata_spec.rb +1 -1
- data/spec/unit/attributes_spec.rb +6 -6
- data/spec/unit/base_spec.rb +5 -5
- data/spec/unit/change_set_spec.rb +7 -7
- data/spec/unit/core_spec.rb +1 -1
- data/spec/unit/file_configurator_spec.rb +9 -0
- data/spec/unit/has_many_association_spec.rb +2 -2
- data/spec/unit/indexing_spec.rb +2 -2
- data/spec/unit/loadable_from_json_spec.rb +14 -5
- data/spec/unit/ntriples_datastream_spec.rb +13 -13
- data/spec/unit/pathing_spec.rb +1 -1
- data/spec/unit/predicates_spec.rb +1 -1
- data/spec/unit/property_predicate_spec.rb +4 -4
- data/spec/unit/query_spec.rb +3 -4
- data/spec/unit/rdf/indexing_service_spec.rb +4 -4
- data/spec/unit/rdf_datastream_spec.rb +3 -3
- data/spec/unit/rdf_resource_datastream_spec.rb +5 -5
- data/spec/unit/rdfxml_datastream_spec.rb +1 -1
- data/spec/unit/reflection_spec.rb +1 -1
- data/spec/unit/sparql_insert_spec.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 02451c4f7df1542ec57c845259cc21eefd0aff2b
|
4
|
+
data.tar.gz: a689c5b349b6e55b1e63af345f1e81eac669e51a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e5b2b77aa673793101dfe20d17d7b6b58a8e936d10d5d9bd5d1285f392ada51b25808a89d1dd147dc6827868110d22ce868337b2b078e7ecd20b61ad5d9445f
|
7
|
+
data.tar.gz: cb38ad07691ed932faa31de89fdc1278b6b8f581e251fd9fd37a84a1fdc9c61b2c5a80eb889c90b3ff85c6553b70941b07e4db680f7ff21df3ee2ab0e778eff7
|
data/History.txt
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
v9.7.0
|
2
|
+
2015-11-25 : Allowing access to the gone? method from outside the object [Carolyn Cole]
|
3
|
+
|
4
|
+
2015-11-24 : Use rdf-vocab gem for DC vocab [Justin Coyne]
|
5
|
+
|
6
|
+
2015-11-24 : Silence deprecation warning in test [Justin Coyne]
|
7
|
+
|
8
|
+
2015-11-24 : Test deprecation using mocks [Justin Coyne]
|
9
|
+
|
10
|
+
2015-11-24 : Give an error when the user queries for a non-existant reflection [Justin Coyne]
|
11
|
+
|
12
|
+
2015-11-20 : Re-add get_config_path method (removed in 9.6.0) with deprecation warning. [Jim Coble]
|
13
|
+
|
14
|
+
2015-11-11 : Don't try to parse empty dates [Adam Wead]
|
15
|
+
|
16
|
+
2015-11-10 : Adds explicit require of 'rdf/vocab'. [David Chandek-Stark]
|
17
|
+
|
18
|
+
2015-11-09 : ids_reader should not return duplicates. [Trey Terrell]
|
19
|
+
|
1
20
|
v9.6.2
|
2
21
|
2015-11-07: Fixes for new version of rubocop [Justin Coyne]
|
3
22
|
|
@@ -63,7 +63,7 @@ module ActiveFedora
|
|
63
63
|
# Add an ActiveFedora::File to the object.
|
64
64
|
# @param [ActiveFedora::File] file
|
65
65
|
# @param [String] file_path
|
66
|
-
# @param [Hash]
|
66
|
+
# @param [Hash] _opts
|
67
67
|
# @return [String] path of the added datastream
|
68
68
|
def attach_file(file, file_path, _opts = {})
|
69
69
|
create_singleton_association(file_path)
|
@@ -3,8 +3,8 @@ module ActiveFedora
|
|
3
3
|
#
|
4
4
|
# @example
|
5
5
|
# class Book < ActiveFedora::Base
|
6
|
-
# property :title, predicate: ::RDF::DC.title
|
7
|
-
# property :author, predicate: ::RDF::DC.creator
|
6
|
+
# property :title, predicate: ::RDF::Vocab::DC.title
|
7
|
+
# property :author, predicate: ::RDF::Vocab::DC.creator
|
8
8
|
# end
|
9
9
|
#
|
10
10
|
# Book.attribute_names
|
data/lib/active_fedora/errors.rb
CHANGED
@@ -56,7 +56,7 @@ module ActiveFedora #:nodoc:
|
|
56
56
|
# Raised when the data has more than one statement for a predicate, but our constraints say it's singular
|
57
57
|
# This helps to prevent overwriting multiple values with a single value when round tripping:
|
58
58
|
# class Book < ActiveFedora::Base
|
59
|
-
# property :title, predicate: RDF::DC.title, multiple: false
|
59
|
+
# property :title, predicate: RDF::Vocab::DC.title, multiple: false
|
60
60
|
# end
|
61
61
|
#
|
62
62
|
# b = Book.new
|
data/lib/active_fedora/file.rb
CHANGED
@@ -27,8 +27,8 @@ module ActiveFedora
|
|
27
27
|
define_model_callbacks :initialize, only: :after
|
28
28
|
|
29
29
|
# @param parent_or_url_or_hash [ActiveFedora::Base, RDF::URI, String, Hash, NilClass] the parent resource or the URI of this resource
|
30
|
-
# @param
|
31
|
-
# @param
|
30
|
+
# @param [String] path the path partial relative to the resource
|
31
|
+
# @param [Hash] _options
|
32
32
|
# @yield [self] Yields self
|
33
33
|
# @yieldparam [File] self the newly created file
|
34
34
|
def initialize(parent_or_url_or_hash = nil, path = nil, _options = {}, &_block)
|
@@ -1,8 +1,10 @@
|
|
1
|
+
require 'deprecation'
|
1
2
|
require 'erb'
|
2
3
|
require 'yaml'
|
3
4
|
|
4
5
|
module ActiveFedora
|
5
6
|
class FileConfigurator
|
7
|
+
extend Deprecation
|
6
8
|
# Initializes ActiveFedora's connection to Fedora and Solr based on the info in fedora.yml and solr.yml
|
7
9
|
# NOTE: this deprecates the use of a solr url in the fedora.yml
|
8
10
|
#
|
@@ -160,6 +162,11 @@ module ActiveFedora
|
|
160
162
|
end
|
161
163
|
end
|
162
164
|
|
165
|
+
def get_config_path(config_type)
|
166
|
+
Deprecation.warn(FileConfigurator, "get_config_path is deprecated and will be removed in ActiveFedora 10. Use config_path instead.")
|
167
|
+
config_path(config_type)
|
168
|
+
end
|
169
|
+
|
163
170
|
# Determine the fedora config file to use. Order of preference is:
|
164
171
|
# 1. Use the config_options[:config_path] if it exists
|
165
172
|
# 2. Look in +Rails.root+/config/fedora.yml
|
@@ -16,8 +16,8 @@ module ActiveFedora
|
|
16
16
|
end
|
17
17
|
|
18
18
|
# Return a Hash representation of this object where keys in the hash are appropriate Solr field names.
|
19
|
-
# @param [Hash]
|
20
|
-
# @param [Hash]
|
19
|
+
# @param [Hash] _solr_doc (optional) Hash to insert the fields into
|
20
|
+
# @param [Hash] _opts (optional)
|
21
21
|
# If opts[:model_only] == true, the base object metadata and the RELS-EXT datastream will be omitted. This is mainly to support shelver, which calls #to_solr for each model an object subscribes to.
|
22
22
|
def to_solr(_solr_doc = {}, _opts = {})
|
23
23
|
indexing_service.generate_solr_document
|
@@ -103,8 +103,11 @@ module ActiveFedora
|
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
106
|
+
# Find the reflection on the model that uses the given predicate
|
106
107
|
def reflection(predicate)
|
107
|
-
Array(@model.outgoing_reflections.find { |_key, reflection| reflection.predicate == predicate }).first
|
108
|
+
result = Array(@model.outgoing_reflections.find { |_key, reflection| reflection.predicate == predicate }).first
|
109
|
+
return result if result
|
110
|
+
fail "Unable to find reflection for #{predicate} in #{@model}"
|
108
111
|
end
|
109
112
|
end
|
110
113
|
|
@@ -179,6 +182,7 @@ module ActiveFedora
|
|
179
182
|
# @return [Object] the adapted value
|
180
183
|
def adapt_single_attribute_value(value, attribute_name)
|
181
184
|
if value && date_attribute?(attribute_name)
|
185
|
+
return nil unless value.present?
|
182
186
|
DateTime.parse(value)
|
183
187
|
else
|
184
188
|
value
|
@@ -60,7 +60,7 @@ module ActiveFedora
|
|
60
60
|
#
|
61
61
|
# @param [Hash] params The params specifying which fields to update and their new values. The syntax of the params Hash is the same as that expected by
|
62
62
|
# term_pointers must be a valid OM Term pointers (ie. [:name]). Strings will be ignored.
|
63
|
-
# @param [Hash]
|
63
|
+
# @param [Hash] _opts This is not currently used by the datastream-level update_indexed_attributes method
|
64
64
|
#
|
65
65
|
# Example:
|
66
66
|
# @mods_ds.update_indexed_attributes( {[{":person"=>"0"}, "role"]=>{"0"=>"role1", "1"=>"role2", "2"=>"role3"} })
|
@@ -114,14 +114,18 @@ module ActiveFedora
|
|
114
114
|
gone?(uri) ? delete_tombstone(uri) : false
|
115
115
|
end
|
116
116
|
|
117
|
-
|
117
|
+
# Allows the user to find out if an id has been used in the system and then been deleted
|
118
|
+
# @param uri id in fedora that may or may not have been deleted
|
119
|
+
def gone?(uri)
|
120
|
+
ActiveFedora::Base.find(uri)
|
121
|
+
false
|
122
|
+
rescue Ldp::Gone
|
123
|
+
true
|
124
|
+
rescue ActiveFedora::ObjectNotFoundError
|
125
|
+
false
|
126
|
+
end
|
118
127
|
|
119
|
-
|
120
|
-
ActiveFedora::Base.find(uri)
|
121
|
-
false
|
122
|
-
rescue Ldp::Gone
|
123
|
-
true
|
124
|
-
end
|
128
|
+
private
|
125
129
|
|
126
130
|
def delete_tombstone(uri)
|
127
131
|
tombstone = ActiveFedora::Base.id_to_uri(uri) + "/fcr:tombstone"
|
@@ -258,7 +258,7 @@ module ActiveFedora
|
|
258
258
|
end
|
259
259
|
|
260
260
|
# @param [Hash<Symbol,String>] conditions
|
261
|
-
# @
|
261
|
+
# @return [Array<String>]
|
262
262
|
def create_query_from_hash(conditions)
|
263
263
|
conditions.map { |key, value| condition_to_clauses(key, value) }.compact
|
264
264
|
end
|
@@ -37,9 +37,9 @@ module ActiveFedora
|
|
37
37
|
end
|
38
38
|
|
39
39
|
# Construct a solr query from a list of pairs (e.g. [field name, values])
|
40
|
-
# @param [Array<Array>]
|
40
|
+
# @param [Array<Array>] field_pairs a list of pairs of property name and values
|
41
41
|
# @param [String] join_with ('AND') the value we're joining the clauses with
|
42
|
-
# @
|
42
|
+
# @return [String] a solr query
|
43
43
|
# @example
|
44
44
|
# construct_query([['library_id_ssim', '123'], ['owner_ssim', 'Fred']])
|
45
45
|
# # => "_query_:\"{!raw f=library_id_ssim}123\" AND _query_:\"{!raw f=owner_ssim}Fred\""
|
@@ -91,7 +91,7 @@ module ActiveFedora
|
|
91
91
|
# Given a list of pairs (e.g. [field name, values]), convert the field names
|
92
92
|
# to solr names
|
93
93
|
# @param [Array<Array>] pairs a list of pairs of property name and values
|
94
|
-
# @
|
94
|
+
# @return [Hash] map of solr fields to values
|
95
95
|
# @example
|
96
96
|
# property_values_to_solr([['library_id', '123'], ['owner', 'Fred']])
|
97
97
|
# # => [['library_id_ssim', '123'], ['owner_ssim', 'Fred']]
|
@@ -6,16 +6,16 @@ class <%= class_name %> < ActiveFedora::Base
|
|
6
6
|
<% else %>
|
7
7
|
# Define some properties to store:
|
8
8
|
#
|
9
|
-
property :title, predicate: ::RDF::DC.title do |index|
|
9
|
+
property :title, predicate: ::RDF::Vocab::DC.title do |index|
|
10
10
|
index.as :stored_searchable, :facetable
|
11
11
|
end
|
12
|
-
property :creator, predicate: ::RDF::DC.creator do |index|
|
12
|
+
property :creator, predicate: ::RDF::Vocab::DC.creator do |index|
|
13
13
|
index.as :stored_searchable, :facetable
|
14
14
|
end
|
15
|
-
property :contributor, predicate: ::RDF::DC.contributor do |index|
|
15
|
+
property :contributor, predicate: ::RDF::Vocab::DC.contributor do |index|
|
16
16
|
index.as :stored_searchable, :facetable
|
17
17
|
end
|
18
|
-
property :description, predicate: ::RDF::DC.description do |index|
|
18
|
+
property :description, predicate: ::RDF::Vocab::DC.description do |index|
|
19
19
|
index.as :stored_searchable
|
20
20
|
end
|
21
21
|
<%- end -%>
|
@@ -4,7 +4,7 @@ describe ActiveFedora::Base do
|
|
4
4
|
describe "use a URI as the property" do
|
5
5
|
before do
|
6
6
|
class Book < ActiveFedora::Base
|
7
|
-
belongs_to :author, predicate: ::RDF::DC.creator, class_name: 'Person'
|
7
|
+
belongs_to :author, predicate: ::RDF::Vocab::DC.creator, class_name: 'Person'
|
8
8
|
end
|
9
9
|
|
10
10
|
class Person < ActiveFedora::Base
|
@@ -25,7 +25,7 @@ describe "delegating attributes" do
|
|
25
25
|
end
|
26
26
|
has_attributes :wrangler, datastream: :foo, multiple: true
|
27
27
|
end
|
28
|
-
property :resource_type, predicate: ::RDF::DC.type do |index|
|
28
|
+
property :resource_type, predicate: ::RDF::Vocab::DC.type do |index|
|
29
29
|
index.as :stored_searchable, :facetable
|
30
30
|
end
|
31
31
|
end
|
@@ -82,7 +82,7 @@ describe ActiveFedora::Base do
|
|
82
82
|
before do
|
83
83
|
class Book < ActiveFedora::Base
|
84
84
|
type [::RDF::URI("http://www.example.com/Book")]
|
85
|
-
property :title, predicate: ::RDF::DC.title
|
85
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
@@ -151,7 +151,7 @@ describe ActiveFedora::Base do
|
|
151
151
|
describe "#apply_schema" do
|
152
152
|
before do
|
153
153
|
class ExampleSchema < ActiveTriples::Schema
|
154
|
-
property :title, predicate: RDF::DC.title
|
154
|
+
property :title, predicate: RDF::Vocab::DC.title
|
155
155
|
end
|
156
156
|
class ExampleBase < ActiveFedora::Base
|
157
157
|
apply_schema ExampleSchema, ActiveFedora::SchemaIndexingStrategy.new(ActiveFedora::Indexers::GlobalIndexer.new(:symbol))
|
@@ -7,14 +7,14 @@ RSpec.describe ActiveFedora::CleanConnection do
|
|
7
7
|
let(:uri) { asset.rdf_subject }
|
8
8
|
let(:asset) do
|
9
9
|
ActiveFedora::Base.create do |a|
|
10
|
-
a.resource << [a.rdf_subject, RDF::DC.title, "test"]
|
10
|
+
a.resource << [a.rdf_subject, RDF::Vocab::DC.title, "test"]
|
11
11
|
end
|
12
12
|
end
|
13
13
|
let(:result) { subject.get(uri) }
|
14
14
|
it "returns a clean graph" do
|
15
15
|
graph = result.graph
|
16
16
|
expect(graph.statements.to_a.length).to eq 1
|
17
|
-
expect(graph.statements.to_a.first).to eq [asset.rdf_subject, RDF::DC.title, "test"]
|
17
|
+
expect(graph.statements.to_a.first).to eq [asset.rdf_subject, RDF::Vocab::DC.title, "test"]
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -114,7 +114,7 @@ describe ActiveFedora::Base do
|
|
114
114
|
context "when classes are namespaced" do
|
115
115
|
before do
|
116
116
|
class Item < ActiveFedora::Base
|
117
|
-
has_and_belongs_to_many :container, predicate: ::RDF::DC.extent, class_name: 'Foo::Container'
|
117
|
+
has_and_belongs_to_many :container, predicate: ::RDF::Vocab::DC.extent, class_name: 'Foo::Container'
|
118
118
|
end
|
119
119
|
module Foo
|
120
120
|
class Container < ActiveFedora::Base
|
@@ -4,10 +4,10 @@ describe "Nested Rdf Objects" do
|
|
4
4
|
describe "without type" do
|
5
5
|
before do
|
6
6
|
class SpecDatastream < ActiveFedora::NtriplesRDFDatastream
|
7
|
-
property :parts, predicate: ::RDF::DC.hasPart, class_name: 'Component'
|
7
|
+
property :parts, predicate: ::RDF::Vocab::DC.hasPart, class_name: 'Component'
|
8
8
|
|
9
9
|
class Component < ActiveTriples::Resource
|
10
|
-
property :label, predicate: ::RDF::DC.title
|
10
|
+
property :label, predicate: ::RDF::Vocab::DC.title
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
@@ -128,11 +128,11 @@ END
|
|
128
128
|
describe "one class per assertion" do
|
129
129
|
before(:each) do
|
130
130
|
class SpecDatastream < ActiveFedora::NtriplesRDFDatastream
|
131
|
-
property :mediator, predicate: ::RDF::DC.mediator, class_name: 'MediatorUser'
|
131
|
+
property :mediator, predicate: ::RDF::Vocab::DC.mediator, class_name: 'MediatorUser'
|
132
132
|
|
133
133
|
class MediatorUser < ActiveTriples::Resource
|
134
|
-
configure type: ::RDF::DC.AgentClass
|
135
|
-
property :title, predicate: ::RDF::DC.title
|
134
|
+
configure type: ::RDF::Vocab::DC.AgentClass
|
135
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
136
136
|
end
|
137
137
|
end
|
138
138
|
end
|
@@ -4,7 +4,7 @@ RSpec.describe ActiveFedora::Base do
|
|
4
4
|
before do
|
5
5
|
class Source < ActiveFedora::Base
|
6
6
|
contains :sub_resource, class_name: "Source"
|
7
|
-
property :title, predicate: ::RDF::DC.title, multiple: false
|
7
|
+
property :title, predicate: ::RDF::Vocab::DC.title, multiple: false
|
8
8
|
end
|
9
9
|
end
|
10
10
|
after do
|
@@ -27,7 +27,7 @@ describe "Nesting attribute behavior of RDFDatastream" do
|
|
27
27
|
class ComplexRDFDatastream < ActiveFedora::NtriplesRDFDatastream
|
28
28
|
property :topic, predicate: DummyMADS.Topic, class_name: "Topic"
|
29
29
|
property :personalName, predicate: DummyMADS.PersonalName, class_name: "PersonalName"
|
30
|
-
property :title, predicate: ::RDF::DC.title
|
30
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
31
31
|
|
32
32
|
accepts_nested_attributes_for :topic, :personalName
|
33
33
|
|
@@ -142,11 +142,11 @@ describe "Nesting attribute behavior of RDFDatastream" do
|
|
142
142
|
describe "with an existing object" do
|
143
143
|
before(:each) do
|
144
144
|
class SpecDatastream < ActiveFedora::NtriplesRDFDatastream
|
145
|
-
property :parts, predicate: ::RDF::DC.hasPart, class_name: 'Component'
|
145
|
+
property :parts, predicate: ::RDF::Vocab::DC.hasPart, class_name: 'Component'
|
146
146
|
accepts_nested_attributes_for :parts, allow_destroy: true
|
147
147
|
|
148
148
|
class Component < ActiveTriples::Resource
|
149
|
-
property :label, predicate: ::RDF::DC.title
|
149
|
+
property :label, predicate: ::RDF::Vocab::DC.title
|
150
150
|
end
|
151
151
|
end
|
152
152
|
end
|
@@ -4,11 +4,15 @@ describe ActiveFedora::Base do
|
|
4
4
|
before do
|
5
5
|
class Foo < ActiveFedora::Base
|
6
6
|
# Date attributes are recognized by having index.type :Date or class_name: 'DateTime'
|
7
|
-
property :date, predicate: ::RDF::DC.date do |index|
|
7
|
+
property :date, predicate: ::RDF::Vocab::DC.date do |index|
|
8
8
|
index.type :date
|
9
9
|
end
|
10
|
+
property :integer, predicate: ::RDF::URI.new('http://www.example.com/integer'), multiple: false do |index|
|
11
|
+
index.type :integer
|
12
|
+
end
|
10
13
|
property :single_date, multiple: false, class_name: 'DateTime', predicate: ::RDF::URI.new('http://www.example.com/single_date')
|
11
14
|
property :missing_date, multiple: false, class_name: 'DateTime', predicate: ::RDF::URI.new('http://www.example.com/missing_date')
|
15
|
+
property :empty_date, multiple: false, class_name: 'DateTime', predicate: ::RDF::URI.new('http://www.example.com/empty_date')
|
12
16
|
end
|
13
17
|
end
|
14
18
|
|
@@ -18,7 +22,7 @@ describe ActiveFedora::Base do
|
|
18
22
|
|
19
23
|
let(:date) { DateTime.parse("2015-10-22T10:20:03.653+01:00") }
|
20
24
|
let(:date2) { DateTime.parse("2015-10-22T15:34:20.323-11:00") }
|
21
|
-
subject { Foo.create(date: [date], single_date: date2).reload }
|
25
|
+
subject { Foo.create(date: [date], single_date: date2, empty_date: '', integer: 1).reload }
|
22
26
|
|
23
27
|
describe "saving and loading in Fedora" do
|
24
28
|
it "loads the correct time" do
|
@@ -5,10 +5,10 @@ describe "An object with RDF backed attributes" do
|
|
5
5
|
class TestOne < ActiveFedora::Base
|
6
6
|
class MyMetadata < ActiveFedora::NtriplesRDFDatastream
|
7
7
|
Deprecation.silence(ActiveFedora::RDFDatastream) do
|
8
|
-
property :title, predicate: ::RDF::DC.title do |index|
|
8
|
+
property :title, predicate: ::RDF::Vocab::DC.title do |index|
|
9
9
|
index.as :stored_searchable
|
10
10
|
end
|
11
|
-
property :date_uploaded, predicate: ::RDF::DC.dateSubmitted do |index|
|
11
|
+
property :date_uploaded, predicate: ::RDF::Vocab::DC.dateSubmitted do |index|
|
12
12
|
index.type :date
|
13
13
|
index.as :stored_searchable, :sortable
|
14
14
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ActiveFedora::Base do
|
4
|
+
before(:all) do
|
5
|
+
class ResurrectionModel < ActiveFedora::Base
|
6
|
+
after_destroy :eradicate
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
Object.send(:remove_const, :ResurrectionModel)
|
12
|
+
end
|
13
|
+
|
14
|
+
context "when an object is has already been deleted" do
|
15
|
+
let(:ghost) do
|
16
|
+
obj = described_class.create
|
17
|
+
obj.destroy
|
18
|
+
obj.id
|
19
|
+
end
|
20
|
+
it "is gone" do
|
21
|
+
expect(described_class.gone?(ghost)).to be true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context "when the id has never been used" do
|
26
|
+
let(:id) { "abc123" }
|
27
|
+
it "is not gone" do
|
28
|
+
expect(described_class.gone?(id)).to be false
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context "when the id is in use" do
|
33
|
+
let(:active) do
|
34
|
+
obj = described_class.create
|
35
|
+
obj.id
|
36
|
+
end
|
37
|
+
it "is not gone" do
|
38
|
+
expect(described_class.gone?(active)).to be false
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -371,7 +371,7 @@ describe ActiveFedora::Associations::HasManyAssociation do
|
|
371
371
|
|
372
372
|
class Book < ActiveFedora::Base
|
373
373
|
belongs_to :library, predicate: ActiveFedora::RDF::Fcrepo::RelsExt.hasConstituent
|
374
|
-
property :title, predicate: ::RDF::DC.title
|
374
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
375
375
|
end
|
376
376
|
end
|
377
377
|
after :all do
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe "Indirect containers" do
|
4
4
|
before do
|
5
5
|
class RelatedObject < ActiveFedora::Base
|
6
|
-
property :title, predicate: ::RDF::DC.title, multiple: false
|
6
|
+
property :title, predicate: ::RDF::Vocab::DC.title, multiple: false
|
7
7
|
end
|
8
8
|
class Proxy < ActiveFedora::Base
|
9
9
|
belongs_to :proxy_for, predicate: ::RDF::URI.new('http://www.openarchives.org/ore/terms/proxyFor'), class_name: 'ActiveFedora::Base'
|
@@ -182,6 +182,13 @@ describe "Indirect containers" do
|
|
182
182
|
end
|
183
183
|
end
|
184
184
|
|
185
|
+
context "after save" do
|
186
|
+
it "returns correctly" do
|
187
|
+
o.save
|
188
|
+
expect(o.related_object_ids).to eq [file.id]
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
185
192
|
context "with some members in memory" do
|
186
193
|
let(:file2) { RelatedObject.create }
|
187
194
|
before do
|
@@ -208,7 +215,7 @@ describe "Indirect containers" do
|
|
208
215
|
context "when the class is provided" do
|
209
216
|
before do
|
210
217
|
class Different < ActiveFedora::Base
|
211
|
-
property :title, predicate: ::RDF::DC.title, multiple: false
|
218
|
+
property :title, predicate: ::RDF::Vocab::DC.title, multiple: false
|
212
219
|
end
|
213
220
|
class FooHistory < ActiveFedora::Base
|
214
221
|
indirectly_contains :related_objects, has_member_relation: ::RDF::URI.new('http://www.openarchives.org/ore/terms/aggregates'), inserted_content_relation: ::RDF::URI.new('http://www.openarchives.org/ore/terms/proxyFor'), class_name: 'Different', through: 'Proxy', foreign_key: :proxy_for
|
@@ -16,7 +16,7 @@ describe "Objects should be serialized to JSON" do
|
|
16
16
|
has_attributes :foo, datastream: 'descMetadata', multiple: true
|
17
17
|
has_attributes :bar, datastream: 'descMetadata', multiple: false
|
18
18
|
end
|
19
|
-
property :title, predicate: ::RDF::DC.title
|
19
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
@@ -41,12 +41,12 @@ describe "Objects should be serialized to JSON" do
|
|
41
41
|
context "with nested nodes" do
|
42
42
|
before do
|
43
43
|
class DummySubnode < ActiveTriples::Resource
|
44
|
-
property :relation, predicate: ::RDF::DC[:relation]
|
44
|
+
property :relation, predicate: ::RDF::Vocab::DC[:relation]
|
45
45
|
end
|
46
46
|
|
47
47
|
class DummyResource < ActiveFedora::RDFDatastream
|
48
48
|
Deprecation.silence(ActiveFedora::RDFDatastream) do
|
49
|
-
property :license, predicate: ::RDF::DC[:license], class_name: DummySubnode do |index|
|
49
|
+
property :license, predicate: ::RDF::Vocab::DC[:license], class_name: DummySubnode do |index|
|
50
50
|
index.as :searchable, :displayable
|
51
51
|
end
|
52
52
|
end
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe "nested hash resources" do
|
4
4
|
before do
|
5
5
|
class NestedResource < ActiveTriples::Resource
|
6
|
-
property :title, predicate: ::RDF::DC.title
|
6
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
7
7
|
## Necessary to get AT to create hash URIs.
|
8
8
|
def initialize(uri, parent)
|
9
9
|
if uri.try(:node?)
|
@@ -19,7 +19,7 @@ describe "nested hash resources" do
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
class ExampleOwner < ActiveFedora::Base
|
22
|
-
property :relation, predicate: ::RDF::DC.relation, class_name: NestedResource
|
22
|
+
property :relation, predicate: ::RDF::Vocab::DC.relation, class_name: NestedResource
|
23
23
|
accepts_nested_attributes_for :relation
|
24
24
|
end
|
25
25
|
end
|
@@ -8,10 +8,10 @@ describe ActiveFedora::NtriplesRDFDatastream do
|
|
8
8
|
|
9
9
|
Deprecation.silence(ActiveFedora::RDFDatastream) do
|
10
10
|
class MyDatastream < ActiveFedora::NtriplesRDFDatastream
|
11
|
-
property :title, predicate: ::RDF::DC.title do |index|
|
11
|
+
property :title, predicate: ::RDF::Vocab::DC.title do |index|
|
12
12
|
index.as :stored_searchable, :facetable
|
13
13
|
end
|
14
|
-
property :date_uploaded, predicate: ::RDF::DC.dateSubmitted do |index|
|
14
|
+
property :date_uploaded, predicate: ::RDF::Vocab::DC.dateSubmitted do |index|
|
15
15
|
index.type :date
|
16
16
|
index.as :stored_searchable, :sortable
|
17
17
|
end
|
@@ -19,7 +19,7 @@ describe ActiveFedora::NtriplesRDFDatastream do
|
|
19
19
|
index.type :integer
|
20
20
|
index.as :stored_sortable
|
21
21
|
end
|
22
|
-
property :part, predicate: ::RDF::DC.hasPart
|
22
|
+
property :part, predicate: ::RDF::Vocab::DC.hasPart
|
23
23
|
property :based_near, predicate: ::RDF::FOAF.based_near
|
24
24
|
property :related_url, predicate: ::RDF::RDFS.seeAlso
|
25
25
|
end
|
@@ -159,7 +159,7 @@ describe ActiveFedora::NtriplesRDFDatastream do
|
|
159
159
|
# reopening existing class
|
160
160
|
class MyDatastream < ActiveFedora::NtriplesRDFDatastream
|
161
161
|
rdf_subject { |ds| RDF::URI.new("http://oregondigital.org/ns/#{parent_uri(ds).split('/')[-1].split(':')[1]}") }
|
162
|
-
property :dctype, predicate: ::RDF::DC.type
|
162
|
+
property :dctype, predicate: ::RDF::Vocab::DC.type
|
163
163
|
end
|
164
164
|
subject.rdf.dctype = "Frog"
|
165
165
|
subject.save!
|
@@ -213,7 +213,7 @@ describe ActiveFedora::NtriplesRDFDatastream do
|
|
213
213
|
describe "term proxy methods" do
|
214
214
|
before(:each) do
|
215
215
|
class TitleDatastream < ActiveFedora::NtriplesRDFDatastream
|
216
|
-
property :title, predicate: ::RDF::DC.title
|
216
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
217
217
|
end
|
218
218
|
class Foobar < ActiveFedora::Base
|
219
219
|
has_metadata 'rdf', type: TitleDatastream
|
@@ -10,7 +10,7 @@ describe "Nesting attribute behavior of RDF resources" do
|
|
10
10
|
property :topic, predicate: DummyMADS.Topic, class_name: "ComplexResource::Topic"
|
11
11
|
|
12
12
|
class Topic < ActiveTriples::Resource
|
13
|
-
property :subject, predicate: ::RDF::DC.subject
|
13
|
+
property :subject, predicate: ::RDF::Vocab::DC.subject
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
@@ -11,10 +11,10 @@ describe ActiveFedora::SolrInstanceLoader do
|
|
11
11
|
has_attributes :foo, datastream: 'descMetadata', multiple: true
|
12
12
|
has_attributes :bar, datastream: 'descMetadata', multiple: false
|
13
13
|
end
|
14
|
-
property :title, predicate: ::RDF::DC.title, multiple: false
|
15
|
-
property :description, predicate: ::RDF::DC.description
|
14
|
+
property :title, predicate: ::RDF::Vocab::DC.title, multiple: false
|
15
|
+
property :description, predicate: ::RDF::Vocab::DC.description
|
16
16
|
belongs_to :another, predicate: ActiveFedora::RDF::Fcrepo::RelsExt.isPartOf, class_name: 'Foo'
|
17
|
-
has_and_belongs_to_many :dates, predicate: ::RDF::DC.date, class_name: 'Bar'
|
17
|
+
has_and_belongs_to_many :dates, predicate: ::RDF::Vocab::DC.date, class_name: 'Bar'
|
18
18
|
accepts_nested_attributes_for :dates, reject_if: :all_blank, allow_destroy: true
|
19
19
|
end
|
20
20
|
class Bar < ActiveFedora::Base
|
@@ -4,7 +4,7 @@ describe ActiveFedora::Versionable do
|
|
4
4
|
context "For ActiveFedora::Base" do
|
5
5
|
before do
|
6
6
|
class WithVersions < ActiveFedora::Base
|
7
|
-
property :title, predicate: ::RDF::DC.title
|
7
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
@@ -140,7 +140,7 @@ describe ActiveFedora::Versionable do
|
|
140
140
|
describe ActiveFedora::NtriplesRDFDatastream do
|
141
141
|
before(:all) do
|
142
142
|
class VersionableDatastream < ActiveFedora::NtriplesRDFDatastream
|
143
|
-
property :title, predicate: ::RDF::DC.title
|
143
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
144
144
|
end
|
145
145
|
|
146
146
|
class MockAFBase < ActiveFedora::Base
|
@@ -376,8 +376,8 @@ describe ActiveFedora::Base do
|
|
376
376
|
context "with a RDF datastream" do
|
377
377
|
before :all do
|
378
378
|
class BarRdfDatastream < ActiveFedora::NtriplesRDFDatastream
|
379
|
-
property :title, predicate: ::RDF::DC.title
|
380
|
-
property :description, predicate: ::RDF::DC.description
|
379
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
380
|
+
property :description, predicate: ::RDF::Vocab::DC.description
|
381
381
|
end
|
382
382
|
class BarHistory4 < ActiveFedora::Base
|
383
383
|
has_metadata 'rdfish', type: BarRdfDatastream
|
@@ -468,8 +468,8 @@ describe ActiveFedora::Base do
|
|
468
468
|
context "when a datastream is specified as a symbol" do
|
469
469
|
before :all do
|
470
470
|
class BarRdfDatastream < ActiveFedora::NtriplesRDFDatastream
|
471
|
-
property :title, predicate: ::RDF::DC.title
|
472
|
-
property :description, predicate: ::RDF::DC.description
|
471
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
472
|
+
property :description, predicate: ::RDF::Vocab::DC.description
|
473
473
|
end
|
474
474
|
class BarHistory4 < ActiveFedora::Base
|
475
475
|
has_metadata 'rdfish', type: BarRdfDatastream
|
@@ -494,10 +494,10 @@ describe ActiveFedora::Base do
|
|
494
494
|
context "when properties are defined on an object" do
|
495
495
|
before :all do
|
496
496
|
class BarHistory4 < ActiveFedora::Base
|
497
|
-
property :title, predicate: ::RDF::DC.title do |index|
|
497
|
+
property :title, predicate: ::RDF::Vocab::DC.title do |index|
|
498
498
|
index.as :symbol
|
499
499
|
end
|
500
|
-
property :abstract, predicate: ::RDF::DC.abstract, multiple: false
|
500
|
+
property :abstract, predicate: ::RDF::Vocab::DC.abstract, multiple: false
|
501
501
|
end
|
502
502
|
end
|
503
503
|
|
data/spec/unit/base_spec.rb
CHANGED
@@ -7,7 +7,7 @@ describe ActiveFedora::Base do
|
|
7
7
|
describe "id=" do
|
8
8
|
before do
|
9
9
|
class FooHistory < ActiveFedora::Base
|
10
|
-
property :title, predicate: ::RDF::DC.title
|
10
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
11
11
|
end
|
12
12
|
end
|
13
13
|
after do
|
@@ -32,7 +32,7 @@ describe ActiveFedora::Base do
|
|
32
32
|
before do
|
33
33
|
class FooHistory < ActiveFedora::Base
|
34
34
|
type ::RDF::URI.new('http://example.com/foo')
|
35
|
-
property :title, predicate: ::RDF::DC.title
|
35
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
36
36
|
end
|
37
37
|
end
|
38
38
|
after do
|
@@ -55,8 +55,8 @@ describe ActiveFedora::Base do
|
|
55
55
|
context "on a concrete class" do
|
56
56
|
before do
|
57
57
|
class FooHistory < ActiveFedora::Base
|
58
|
-
rdf_label ::RDF::DC.title
|
59
|
-
property :title, predicate: ::RDF::DC.title
|
58
|
+
rdf_label ::RDF::Vocab::DC.title
|
59
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
60
60
|
end
|
61
61
|
end
|
62
62
|
after do
|
@@ -271,7 +271,7 @@ describe ActiveFedora::Base do
|
|
271
271
|
let(:test_object) { WithProperty.new(title: ['foo']) }
|
272
272
|
before do
|
273
273
|
class WithProperty < ActiveFedora::Base
|
274
|
-
property :title, predicate: ::RDF::DC.title
|
274
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
275
275
|
end
|
276
276
|
allow(test_object).to receive(:assign_id).and_return(@this_id)
|
277
277
|
test_object.save
|
@@ -17,8 +17,8 @@ describe ActiveFedora::ChangeSet do
|
|
17
17
|
|
18
18
|
class Book < ActiveFedora::Base
|
19
19
|
belongs_to :library, predicate: ActiveFedora::RDF::Fcrepo::RelsExt.hasConstituent
|
20
|
-
property :title, predicate: ::RDF::DC.title
|
21
|
-
property :alt_id, predicate: ::RDF::DC.identifier
|
20
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
21
|
+
property :alt_id, predicate: ::RDF::Vocab::DC.identifier
|
22
22
|
end
|
23
23
|
|
24
24
|
base.library_id = 'foo'
|
@@ -41,18 +41,18 @@ describe ActiveFedora::ChangeSet do
|
|
41
41
|
expect(subject.size).to eq 3
|
42
42
|
end
|
43
43
|
it "does not include URIs from other objects" do
|
44
|
-
base.resource << RDF::Statement.new(RDF::URI("http://wrong.com"), RDF::DC.title, "bad")
|
44
|
+
base.resource << RDF::Statement.new(RDF::URI("http://wrong.com"), RDF::Vocab::DC.title, "bad")
|
45
45
|
base.title = nil
|
46
|
-
expect(subject[RDF::DC.title].to_a).to eq []
|
46
|
+
expect(subject[RDF::Vocab::DC.title].to_a).to eq []
|
47
47
|
end
|
48
48
|
it "includes hash URIs" do
|
49
49
|
# This is useful as an alternative to blank nodes.
|
50
50
|
hash_uri = RDF::URI(base.uri.to_s + "#test")
|
51
|
-
base.resource << RDF::Statement.new(hash_uri, RDF::DC.title, "good")
|
51
|
+
base.resource << RDF::Statement.new(hash_uri, RDF::Vocab::DC.title, "good")
|
52
52
|
base.title = [RDF::URI(hash_uri)]
|
53
|
-
expect(subject[RDF::DC.title].to_a).not_to eq []
|
53
|
+
expect(subject[RDF::Vocab::DC.title].to_a).not_to eq []
|
54
54
|
# Include the title reference and the title for the hash URI
|
55
|
-
expect(subject[RDF::DC.title].to_a.length).to eq 2
|
55
|
+
expect(subject[RDF::Vocab::DC.title].to_a.length).to eq 2
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
data/spec/unit/core_spec.rb
CHANGED
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe ActiveFedora::Base do
|
4
4
|
before do
|
5
5
|
class MyDatastream < ActiveFedora::NtriplesRDFDatastream
|
6
|
-
property :publisher, predicate: ::RDF::DC.publisher
|
6
|
+
property :publisher, predicate: ::RDF::Vocab::DC.publisher
|
7
7
|
end
|
8
8
|
class Library < ActiveFedora::Base
|
9
9
|
end
|
@@ -58,6 +58,15 @@ describe ActiveFedora::FileConfigurator do
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
+
describe "#get_config_path" do
|
62
|
+
it "calls #config_path" do
|
63
|
+
expect(subject).to receive(:config_path)
|
64
|
+
Deprecation.silence(described_class) do
|
65
|
+
subject.get_config_path(:fedora)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
61
70
|
describe "initialization methods" do
|
62
71
|
describe "config_path(:fedora)" do
|
63
72
|
it "uses the config_options[:config_path] if it exists" do
|
@@ -51,11 +51,11 @@ describe ActiveFedora::Associations::HasManyAssociation do
|
|
51
51
|
context "when inverse doesn't have a predictable name" do
|
52
52
|
before do
|
53
53
|
class TimeSpan < ActiveFedora::Base
|
54
|
-
has_many :images, inverse_of: :created # predicate: ::RDF::DC.created
|
54
|
+
has_many :images, inverse_of: :created # predicate: ::RDF::Vocab::DC.created
|
55
55
|
end
|
56
56
|
|
57
57
|
class Image < ActiveFedora::Base
|
58
|
-
has_and_belongs_to_many :created, predicate: ::RDF::DC.created, class_name: 'TimeSpan'
|
58
|
+
has_and_belongs_to_many :created, predicate: ::RDF::Vocab::DC.created, class_name: 'TimeSpan'
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
data/spec/unit/indexing_spec.rb
CHANGED
@@ -27,10 +27,10 @@ describe ActiveFedora::Indexing do
|
|
27
27
|
describe "#to_solr" do
|
28
28
|
before :all do
|
29
29
|
class SpecNode < ActiveFedora::Base
|
30
|
-
property :title, predicate: ::RDF::DC.title do |index|
|
30
|
+
property :title, predicate: ::RDF::Vocab::DC.title do |index|
|
31
31
|
index.as :stored_searchable
|
32
32
|
end
|
33
|
-
property :abstract, predicate: ::RDF::DC.abstract, multiple: false do |index|
|
33
|
+
property :abstract, predicate: ::RDF::Vocab::DC.abstract, multiple: false do |index|
|
34
34
|
index.as :stored_sortable
|
35
35
|
end
|
36
36
|
end
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe ActiveFedora::LoadableFromJson::SolrBackedResource do
|
4
4
|
before do
|
5
5
|
class Foo < ActiveFedora::Base
|
6
|
-
belongs_to :bar, predicate: ::RDF::DC.extent
|
6
|
+
belongs_to :bar, predicate: ::RDF::Vocab::DC.extent
|
7
7
|
end
|
8
8
|
|
9
9
|
class Bar < ActiveFedora::Base
|
@@ -18,14 +18,23 @@ describe ActiveFedora::LoadableFromJson::SolrBackedResource do
|
|
18
18
|
let(:resource) { described_class.new(Foo) }
|
19
19
|
|
20
20
|
before do
|
21
|
-
resource.insert [nil, ::RDF::DC.extent, RDF::URI('http://example.org/123')]
|
21
|
+
resource.insert [nil, ::RDF::Vocab::DC.extent, RDF::URI('http://example.org/123')]
|
22
22
|
end
|
23
23
|
|
24
24
|
describe "#query" do
|
25
|
-
|
25
|
+
describe "a known relationship" do
|
26
|
+
subject { resource.query(predicate: ::RDF::Vocab::DC.extent) }
|
26
27
|
|
27
|
-
|
28
|
-
|
28
|
+
it "is enumerable" do
|
29
|
+
expect(subject.map(&:object)).to eq [RDF::URI('http://example.org/123')]
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "a unknown relationship" do
|
34
|
+
subject { resource.query(predicate: ::RDF::Vocab::DC.accrualPeriodicity) }
|
35
|
+
it "raises an error" do
|
36
|
+
expect { subject }.to raise_error "Unable to find reflection for http://purl.org/dc/terms/accrualPeriodicity in Foo"
|
37
|
+
end
|
29
38
|
end
|
30
39
|
end
|
31
40
|
end
|
@@ -4,11 +4,11 @@ describe ActiveFedora::NtriplesRDFDatastream do
|
|
4
4
|
describe "an instance with content" do
|
5
5
|
before do
|
6
6
|
class MyDatastream < ActiveFedora::NtriplesRDFDatastream
|
7
|
-
property :created, predicate: ::RDF::DC.created
|
8
|
-
property :title, predicate: ::RDF::DC.title
|
9
|
-
property :publisher, predicate: ::RDF::DC.publisher
|
10
|
-
property :creator, predicate: ::RDF::DC.creator
|
11
|
-
property :educationLevel, predicate: ::RDF::DC.educationLevel
|
7
|
+
property :created, predicate: ::RDF::Vocab::DC.created
|
8
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
9
|
+
property :publisher, predicate: ::RDF::Vocab::DC.publisher
|
10
|
+
property :creator, predicate: ::RDF::Vocab::DC.creator
|
11
|
+
property :educationLevel, predicate: ::RDF::Vocab::DC.educationLevel
|
12
12
|
property :based_near, predicate: ::RDF::FOAF.based_near
|
13
13
|
property :related_url, predicate: ::RDF::RDFS.seeAlso
|
14
14
|
end
|
@@ -84,9 +84,9 @@ describe ActiveFedora::NtriplesRDFDatastream do
|
|
84
84
|
before do
|
85
85
|
class MyDatastream < ActiveFedora::NtriplesRDFDatastream
|
86
86
|
rdf_subject { |ds| "http://localhost:8983/fedora/rest/test/#{ds.id}/content" }
|
87
|
-
property :created, predicate: ::RDF::DC.created
|
88
|
-
property :title, predicate: ::RDF::DC.title
|
89
|
-
property :publisher, predicate: ::RDF::DC.publisher
|
87
|
+
property :created, predicate: ::RDF::Vocab::DC.created
|
88
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
89
|
+
property :publisher, predicate: ::RDF::Vocab::DC.publisher
|
90
90
|
property :based_near, predicate: ::RDF::FOAF.based_near
|
91
91
|
property :related_url, predicate: ::RDF::RDFS.seeAlso
|
92
92
|
end
|
@@ -116,7 +116,7 @@ describe ActiveFedora::NtriplesRDFDatastream do
|
|
116
116
|
describe "a new instance" do
|
117
117
|
before(:each) do
|
118
118
|
class MyDatastream < ActiveFedora::NtriplesRDFDatastream
|
119
|
-
property :publisher, predicate: ::RDF::DC.publisher
|
119
|
+
property :publisher, predicate: ::RDF::Vocab::DC.publisher
|
120
120
|
end
|
121
121
|
@subject = MyDatastream.new
|
122
122
|
end
|
@@ -136,15 +136,15 @@ describe ActiveFedora::NtriplesRDFDatastream do
|
|
136
136
|
before(:all) do
|
137
137
|
Deprecation.silence(ActiveFedora::RDFDatastream) do
|
138
138
|
class MyDatastream < ActiveFedora::NtriplesRDFDatastream
|
139
|
-
property :created, predicate: ::RDF::DC.created do |index|
|
139
|
+
property :created, predicate: ::RDF::Vocab::DC.created do |index|
|
140
140
|
index.as :sortable, :displayable
|
141
141
|
index.type :date
|
142
142
|
end
|
143
|
-
property :title, predicate: ::RDF::DC.title do |index|
|
143
|
+
property :title, predicate: ::RDF::Vocab::DC.title do |index|
|
144
144
|
index.as :stored_searchable, :sortable
|
145
145
|
index.type :text
|
146
146
|
end
|
147
|
-
property :publisher, predicate: ::RDF::DC.publisher do |index|
|
147
|
+
property :publisher, predicate: ::RDF::Vocab::DC.publisher do |index|
|
148
148
|
index.as :facetable, :sortable, :stored_searchable
|
149
149
|
end
|
150
150
|
property :based_near, predicate: ::RDF::FOAF.based_near do |index|
|
@@ -154,7 +154,7 @@ describe ActiveFedora::NtriplesRDFDatastream do
|
|
154
154
|
property :related_url, predicate: ::RDF::RDFS.seeAlso do |index|
|
155
155
|
index.as :stored_searchable
|
156
156
|
end
|
157
|
-
property :rights, predicate: ::RDF::DC.rights
|
157
|
+
property :rights, predicate: ::RDF::Vocab::DC.rights
|
158
158
|
end
|
159
159
|
end
|
160
160
|
end
|
data/spec/unit/pathing_spec.rb
CHANGED
@@ -6,7 +6,7 @@ describe ActiveFedora::Predicates do
|
|
6
6
|
expect(described_class.short_predicate('http://www.openarchives.org/OAI/2.0/itemID')).to eq :oai_item_id
|
7
7
|
end
|
8
8
|
it 'parses uris' do
|
9
|
-
expect(described_class.short_predicate(RDF::DC.creator)).to eq 'dc_terms_creator'
|
9
|
+
expect(described_class.short_predicate(RDF::Vocab::DC.creator)).to eq 'dc_terms_creator'
|
10
10
|
expect(described_class.short_predicate(RDF::SKOS.hasTopConcept)).to eq '2004_02_skos_core_has_top_concept'
|
11
11
|
end
|
12
12
|
before do
|
@@ -11,8 +11,8 @@ describe ActiveFedora::Base do
|
|
11
11
|
|
12
12
|
module TestModel1
|
13
13
|
class Book < ActiveFedora::Base
|
14
|
-
property :title1, predicate: ::RDF::DC.title
|
15
|
-
property :title2, predicate: ::RDF::DC.title
|
14
|
+
property :title1, predicate: ::RDF::Vocab::DC.title
|
15
|
+
property :title2, predicate: ::RDF::Vocab::DC.title
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
@@ -25,8 +25,8 @@ describe ActiveFedora::Base do
|
|
25
25
|
|
26
26
|
module TestModel2
|
27
27
|
class Book < ActiveFedora::Base
|
28
|
-
property :title1, predicate: ::RDF::DC.title
|
29
|
-
property :title2, predicate: ::RDF::DC.creator
|
28
|
+
property :title1, predicate: ::RDF::Vocab::DC.title
|
29
|
+
property :title2, predicate: ::RDF::Vocab::DC.creator
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
data/spec/unit/query_spec.rb
CHANGED
@@ -60,12 +60,11 @@ describe ActiveFedora::Base do
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
end
|
63
|
+
|
63
64
|
describe "using an options hash" do
|
64
|
-
before do
|
65
|
-
Deprecation.default_deprecation_behavior = :raise
|
66
|
-
end
|
67
65
|
it "is deprecated" do
|
68
|
-
expect
|
66
|
+
expect(Deprecation).to receive(:warn)
|
67
|
+
SpecModel::Basic.find(id: "_ID_")
|
69
68
|
end
|
70
69
|
end
|
71
70
|
end
|
@@ -4,15 +4,15 @@ describe ActiveFedora::RDF::IndexingService do
|
|
4
4
|
before do
|
5
5
|
class MyDatastream < ActiveFedora::NtriplesRDFDatastream
|
6
6
|
Deprecation.silence(ActiveFedora::RDFDatastream) do
|
7
|
-
property :created, predicate: ::RDF::DC.created do |index|
|
7
|
+
property :created, predicate: ::RDF::Vocab::DC.created do |index|
|
8
8
|
index.as :sortable, :displayable
|
9
9
|
index.type :date
|
10
10
|
end
|
11
|
-
property :title, predicate: ::RDF::DC.title do |index|
|
11
|
+
property :title, predicate: ::RDF::Vocab::DC.title do |index|
|
12
12
|
index.as :stored_searchable, :sortable
|
13
13
|
index.type :text
|
14
14
|
end
|
15
|
-
property :publisher, predicate: ::RDF::DC.publisher do |index|
|
15
|
+
property :publisher, predicate: ::RDF::Vocab::DC.publisher do |index|
|
16
16
|
index.as :facetable, :sortable, :stored_searchable
|
17
17
|
end
|
18
18
|
property :based_near, predicate: ::RDF::FOAF.based_near do |index|
|
@@ -23,7 +23,7 @@ describe ActiveFedora::RDF::IndexingService do
|
|
23
23
|
index.as :stored_searchable
|
24
24
|
end
|
25
25
|
end
|
26
|
-
property :rights, predicate: ::RDF::DC.rights
|
26
|
+
property :rights, predicate: ::RDF::Vocab::DC.rights
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -11,8 +11,8 @@ describe ActiveFedora::RDFDatastream do
|
|
11
11
|
describe "an instance that exists in the datastore, but hasn't been loaded" do
|
12
12
|
before do
|
13
13
|
class MyDatastream < ActiveFedora::NtriplesRDFDatastream
|
14
|
-
property :title, predicate: ::RDF::DC.title
|
15
|
-
property :description, predicate: ::RDF::DC.description
|
14
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
15
|
+
property :description, predicate: ::RDF::Vocab::DC.description
|
16
16
|
end
|
17
17
|
class MyObj < ActiveFedora::Base
|
18
18
|
has_metadata 'descMetadata', type: MyDatastream
|
@@ -42,7 +42,7 @@ describe ActiveFedora::RDFDatastream do
|
|
42
42
|
it "clears stuff" do
|
43
43
|
subject.title = ['one', 'two', 'three']
|
44
44
|
subject.title.clear
|
45
|
-
expect(subject.graph.query([subject.rdf_subject, ::RDF::DC.title, nil]).first).to be_nil
|
45
|
+
expect(subject.graph.query([subject.rdf_subject, ::RDF::Vocab::DC.title, nil]).first).to be_nil
|
46
46
|
end
|
47
47
|
|
48
48
|
it "has a list of fields" do
|
@@ -3,19 +3,19 @@ require 'spec_helper'
|
|
3
3
|
describe ActiveFedora::RDFDatastream do
|
4
4
|
before do
|
5
5
|
class DummySubnode < ActiveTriples::Resource
|
6
|
-
property :title, predicate: ::RDF::DC[:title], class_name: ::RDF::Literal
|
7
|
-
property :relation, predicate: ::RDF::DC[:relation]
|
6
|
+
property :title, predicate: ::RDF::Vocab::DC[:title], class_name: ::RDF::Literal
|
7
|
+
property :relation, predicate: ::RDF::Vocab::DC[:relation]
|
8
8
|
end
|
9
9
|
|
10
10
|
class DummyResource < ActiveFedora::RDFDatastream
|
11
11
|
Deprecation.silence(ActiveFedora::RDFDatastream) do
|
12
|
-
property :title, predicate: ::RDF::DC[:title], class_name: ::RDF::Literal do |index|
|
12
|
+
property :title, predicate: ::RDF::Vocab::DC[:title], class_name: ::RDF::Literal do |index|
|
13
13
|
index.as :searchable, :displayable
|
14
14
|
end
|
15
|
-
property :license, predicate: ::RDF::DC[:license], class_name: DummySubnode do |index|
|
15
|
+
property :license, predicate: ::RDF::Vocab::DC[:license], class_name: DummySubnode do |index|
|
16
16
|
index.as :searchable, :displayable
|
17
17
|
end
|
18
|
-
property :creator, predicate: ::RDF::DC[:creator], class_name: 'DummyAsset' do |index|
|
18
|
+
property :creator, predicate: ::RDF::Vocab::DC[:creator], class_name: 'DummyAsset' do |index|
|
19
19
|
index.as :searchable
|
20
20
|
end
|
21
21
|
end
|
@@ -4,7 +4,7 @@ describe ActiveFedora::RDFXMLDatastream do
|
|
4
4
|
describe "a new instance" do
|
5
5
|
before(:each) do
|
6
6
|
class MyRdfxmlDatastream < ActiveFedora::RDFXMLDatastream
|
7
|
-
property :publisher, predicate: ::RDF::DC.publisher
|
7
|
+
property :publisher, predicate: ::RDF::Vocab::DC.publisher
|
8
8
|
end
|
9
9
|
@subject = MyRdfxmlDatastream.new
|
10
10
|
allow(@subject).to receive(:id).and_return('test:1')
|
@@ -22,7 +22,7 @@ describe ActiveFedora::Reflection::AssociationReflection do
|
|
22
22
|
describe "#automatic_inverse_of" do
|
23
23
|
before do
|
24
24
|
class Dummy < ActiveFedora::Base
|
25
|
-
belongs_to :foothing, predicate: ::RDF::DC.extent
|
25
|
+
belongs_to :foothing, predicate: ::RDF::Vocab::DC.extent
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
@@ -11,7 +11,7 @@ describe ActiveFedora::SparqlInsert do
|
|
11
11
|
|
12
12
|
class Book < ActiveFedora::Base
|
13
13
|
belongs_to :library, predicate: ActiveFedora::RDF::Fcrepo::RelsExt.hasConstituent
|
14
|
-
property :title, predicate: ::RDF::DC.title
|
14
|
+
property :title, predicate: ::RDF::Vocab::DC.title
|
15
15
|
end
|
16
16
|
|
17
17
|
base.library_id = 'foo'
|
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: 9.
|
4
|
+
version: 9.7.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: 2015-11-
|
13
|
+
date: 2015-11-30 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rsolr
|
@@ -521,6 +521,7 @@ files:
|
|
521
521
|
- spec/integration/file_fixity_spec.rb
|
522
522
|
- spec/integration/file_spec.rb
|
523
523
|
- spec/integration/full_featured_model_spec.rb
|
524
|
+
- spec/integration/gone_spec.rb
|
524
525
|
- spec/integration/has_and_belongs_to_many_associations_spec.rb
|
525
526
|
- spec/integration/has_many_associations_spec.rb
|
526
527
|
- spec/integration/indexing_spec.rb
|
@@ -637,7 +638,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
637
638
|
version: '0'
|
638
639
|
requirements: []
|
639
640
|
rubyforge_project:
|
640
|
-
rubygems_version: 2.4.
|
641
|
+
rubygems_version: 2.4.8
|
641
642
|
signing_key:
|
642
643
|
specification_version: 4
|
643
644
|
summary: A convenience libary for manipulating documents in the Fedora Repository.
|