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