active-fedora 9.6.2 → 9.7.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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/History.txt +19 -0
  3. data/lib/active_fedora/associations/indirectly_contains_association.rb +1 -1
  4. data/lib/active_fedora/attached_files.rb +1 -1
  5. data/lib/active_fedora/attributes/active_triple_attribute.rb +2 -2
  6. data/lib/active_fedora/errors.rb +1 -1
  7. data/lib/active_fedora/fedora_attributes.rb +2 -0
  8. data/lib/active_fedora/file.rb +2 -2
  9. data/lib/active_fedora/file_configurator.rb +7 -0
  10. data/lib/active_fedora/indexing.rb +2 -2
  11. data/lib/active_fedora/loadable_from_json.rb +5 -1
  12. data/lib/active_fedora/om_datastream.rb +1 -1
  13. data/lib/active_fedora/persistence.rb +11 -7
  14. data/lib/active_fedora/relation/finder_methods.rb +1 -1
  15. data/lib/active_fedora/solr_query_builder.rb +3 -3
  16. data/lib/active_fedora/version.rb +1 -1
  17. data/lib/generators/active_fedora/model/templates/model.rb.erb +4 -4
  18. data/spec/integration/associations_spec.rb +1 -1
  19. data/spec/integration/attributes_spec.rb +1 -1
  20. data/spec/integration/base_spec.rb +2 -2
  21. data/spec/integration/caching_spec.rb +1 -1
  22. data/spec/integration/clean_connection_spec.rb +2 -2
  23. data/spec/integration/collection_association_spec.rb +1 -1
  24. data/spec/integration/complex_rdf_datastream_spec.rb +5 -5
  25. data/spec/integration/contains_association_spec.rb +1 -1
  26. data/spec/integration/datastream_rdf_nested_attributes_spec.rb +3 -3
  27. data/spec/integration/date_time_properties_spec.rb +6 -2
  28. data/spec/integration/field_to_solr_name_spec.rb +2 -2
  29. data/spec/integration/gone_spec.rb +41 -0
  30. data/spec/integration/has_and_belongs_to_many_associations_spec.rb +1 -1
  31. data/spec/integration/has_many_associations_spec.rb +1 -1
  32. data/spec/integration/indirect_container_spec.rb +9 -2
  33. data/spec/integration/json_serialization_spec.rb +3 -3
  34. data/spec/integration/nested_hash_resources_spec.rb +2 -2
  35. data/spec/integration/ntriples_datastream_spec.rb +5 -5
  36. data/spec/integration/rdf_nested_attributes_spec.rb +1 -1
  37. data/spec/integration/solr_instance_loader_spec.rb +3 -3
  38. data/spec/integration/versionable_spec.rb +2 -2
  39. data/spec/integration/with_metadata_spec.rb +1 -1
  40. data/spec/unit/attributes_spec.rb +6 -6
  41. data/spec/unit/base_spec.rb +5 -5
  42. data/spec/unit/change_set_spec.rb +7 -7
  43. data/spec/unit/core_spec.rb +1 -1
  44. data/spec/unit/file_configurator_spec.rb +9 -0
  45. data/spec/unit/has_many_association_spec.rb +2 -2
  46. data/spec/unit/indexing_spec.rb +2 -2
  47. data/spec/unit/loadable_from_json_spec.rb +14 -5
  48. data/spec/unit/ntriples_datastream_spec.rb +13 -13
  49. data/spec/unit/pathing_spec.rb +1 -1
  50. data/spec/unit/predicates_spec.rb +1 -1
  51. data/spec/unit/property_predicate_spec.rb +4 -4
  52. data/spec/unit/query_spec.rb +3 -4
  53. data/spec/unit/rdf/indexing_service_spec.rb +4 -4
  54. data/spec/unit/rdf_datastream_spec.rb +3 -3
  55. data/spec/unit/rdf_resource_datastream_spec.rb +5 -5
  56. data/spec/unit/rdfxml_datastream_spec.rb +1 -1
  57. data/spec/unit/reflection_spec.rb +1 -1
  58. data/spec/unit/sparql_insert_spec.rb +1 -1
  59. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4563e9a6719b7d7ba4b3c1c13a94062707acfd24
4
- data.tar.gz: 67c92763ade10866c4682153e6df9d69d761d0a1
3
+ metadata.gz: 02451c4f7df1542ec57c845259cc21eefd0aff2b
4
+ data.tar.gz: a689c5b349b6e55b1e63af345f1e81eac669e51a
5
5
  SHA512:
6
- metadata.gz: add632d1ed1e804dc8624a91925be4d43347acb4d15d0119b293dc99b0c40de8168ea62fb42a6e1d21b9df7592ba4def6b2f8c3fc7d7178a30239cc9ed01218e
7
- data.tar.gz: c8b1040b21118e8438691f07228765f1aaa1ed9f6645966c79c64e14c3d46463a1bc64e8159f9dd02e752533be40d33c198440fc86af1f04dc805f2b31b67b80
6
+ metadata.gz: 6e5b2b77aa673793101dfe20d17d7b6b58a8e936d10d5d9bd5d1285f392ada51b25808a89d1dd147dc6827868110d22ce868337b2b078e7ecd20b61ad5d9445f
7
+ data.tar.gz: cb38ad07691ed932faa31de89fdc1278b6b8f581e251fd9fd37a84a1fdc9c61b2c5a80eb889c90b3ff85c6553b70941b07e4db680f7ff21df3ee2ab0e778eff7
@@ -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
 
@@ -30,7 +30,7 @@ module ActiveFedora
30
30
  target.map(&:id)
31
31
  else
32
32
  owner.resource.query(predicate: predicate)
33
- .map { |s| ActiveFedora::Base.uri_to_id(s.object) } + target.map(&:id)
33
+ .map { |s| ActiveFedora::Base.uri_to_id(s.object) } | target.map(&:id)
34
34
  end
35
35
  end
36
36
 
@@ -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] opts
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
@@ -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
@@ -1,3 +1,5 @@
1
+ require 'rdf/vocab'
2
+
1
3
  module ActiveFedora
2
4
  module FedoraAttributes
3
5
  extend ActiveSupport::Concern
@@ -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 path [String] the path partial relative to the resource
31
- # @param options [Hash]
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] solr_doc (optional) Hash to insert the fields into
20
- # @param [Hash] opts (optional)
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] opts This is not currently used by the datastream-level update_indexed_attributes method
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
- private
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
- def gone?(uri)
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
- # @returns [Array<String>]
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>] pairs a list of pairs of property name and values
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
- # @returns [String] a solr query
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
- # @returns [Hash] map of solr fields to values
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']]
@@ -1,3 +1,3 @@
1
1
  module ActiveFedora
2
- VERSION = "9.6.2"
2
+ VERSION = "9.7.0"
3
3
  end
@@ -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))
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe "Caching" do
4
4
  before do
5
5
  class TestClass < ActiveFedora::Base
6
- property :title, predicate: ::RDF::DC.title
6
+ property :title, predicate: ::RDF::Vocab::DC.title
7
7
  end
8
8
  end
9
9
 
@@ -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
@@ -326,7 +326,7 @@ describe ActiveFedora::Base do
326
326
  end
327
327
 
328
328
  class Collection < ActiveFedora::Base
329
- property :title, predicate: ::RDF::DC.title
329
+ property :title, predicate: ::RDF::Vocab::DC.title
330
330
  end
331
331
  end
332
332
 
@@ -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
@@ -6,7 +6,7 @@ describe ActiveFedora::WithMetadata do
6
6
  include ActiveFedora::WithMetadata
7
7
 
8
8
  metadata do
9
- property :title, predicate: ::RDF::DC.title
9
+ property :title, predicate: ::RDF::Vocab::DC.title
10
10
  end
11
11
  end
12
12
  end
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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
- subject { resource.query(predicate: ::RDF::DC.extent) }
25
+ describe "a known relationship" do
26
+ subject { resource.query(predicate: ::RDF::Vocab::DC.extent) }
26
27
 
27
- it "is enumerable" do
28
- expect(subject.map(&:object)).to eq [RDF::URI('http://example.org/123')]
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
@@ -9,7 +9,7 @@ describe ActiveFedora::Base do
9
9
  def uri_prefix
10
10
  "foo"
11
11
  end
12
- property :title, predicate: ::RDF::DC.title
12
+ property :title, predicate: ::RDF::Vocab::DC.title
13
13
  end
14
14
  end
15
15
 
@@ -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
@@ -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 { SpecModel::Basic.find(id: "_ID_") }.to raise_error RuntimeError
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.6.2
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-09 00:00:00.000000000 Z
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.5.1
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.