active-fedora 11.0.1 → 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +6 -9
- data/Gemfile +1 -0
- data/History.txt +34 -0
- data/active-fedora.gemspec +3 -4
- data/lib/active_fedora.rb +1 -0
- data/lib/active_fedora/associations/collection_association.rb +2 -2
- data/lib/active_fedora/associations/collection_proxy.rb +10 -10
- data/lib/active_fedora/associations/has_and_belongs_to_many_association.rb +1 -1
- data/lib/active_fedora/attribute_methods.rb +1 -1
- data/lib/active_fedora/attributes.rb +1 -1
- data/lib/active_fedora/cleaner.rb +1 -1
- data/lib/active_fedora/core.rb +11 -5
- data/lib/active_fedora/fedora.rb +7 -3
- data/lib/active_fedora/file.rb +1 -0
- data/lib/active_fedora/file_configurator.rb +3 -3
- data/lib/active_fedora/indexing.rb +1 -1
- data/lib/active_fedora/initializing_connection.rb +1 -1
- data/lib/active_fedora/loadable_from_json.rb +1 -1
- data/lib/active_fedora/model_classifier.rb +1 -1
- data/lib/active_fedora/null_logger.rb +10 -0
- data/lib/active_fedora/orders/ordered_list.rb +1 -1
- data/lib/active_fedora/relation/finder_methods.rb +3 -1
- data/lib/active_fedora/solr_hit.rb +1 -1
- data/lib/active_fedora/version.rb +1 -1
- data/lib/active_fedora/with_metadata/metadata_node.rb +2 -1
- data/spec/integration/attached_files_spec.rb +1 -1
- data/spec/integration/base_spec.rb +5 -5
- data/spec/integration/file_spec.rb +7 -7
- data/spec/integration/has_and_belongs_to_many_associations_spec.rb +2 -2
- data/spec/integration/scoping_spec.rb +3 -3
- data/spec/unit/base_spec.rb +5 -5
- data/spec/unit/builder/has_and_belongs_to_many_spec.rb +1 -1
- data/spec/unit/core/fedora_id_translator_spec.rb +2 -2
- data/spec/unit/core/fedora_uri_translator_spec.rb +2 -2
- data/spec/unit/core/logger_spec.rb +18 -0
- data/spec/unit/core_spec.rb +6 -6
- data/spec/unit/file_path_builder_spec.rb +2 -2
- data/spec/unit/file_spec.rb +34 -2
- data/spec/unit/indexing_spec.rb +2 -2
- data/spec/unit/query_spec.rb +2 -2
- data/spec/unit/validations_spec.rb +3 -3
- metadata +17 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d30a0af700ab6f5855f2ac0dae9bd20aace608b3
|
|
4
|
+
data.tar.gz: f2e755860c2c67c4559c339c1468fa0a23b6038f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 61d91bdf7413839f75fa6be613786888dd74fd0a19253cc911886fbf6877d6b2d1903cb924c6312d0e92c5cc7d719f7394e5d5ab1c6d9d960a40b15c7d885125
|
|
7
|
+
data.tar.gz: f11e71036ebc0316ebc79bef415d98e0f0fa09036f3ce7438cf6839baf3cca87a168f1ec53e83366913e24d33d246d3d394647ac21a9c5480a1f92610a67a030
|
data/.travis.yml
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
language: ruby
|
|
2
2
|
cache: bundler
|
|
3
3
|
sudo: false
|
|
4
|
-
rvm:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
env:
|
|
11
|
-
- "RAILS_VERSION=4.2.6"
|
|
12
|
-
|
|
4
|
+
rvm: 2.4.0
|
|
5
|
+
matrix:
|
|
6
|
+
include:
|
|
7
|
+
- rvm: 2.3.3
|
|
8
|
+
env: "RAILS_VERSION=4.2.7.1"
|
|
9
|
+
- env: "RSOLR_VERSION=2.0.0.pre1"
|
|
13
10
|
global_env:
|
|
14
11
|
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
|
15
12
|
before_script:
|
data/Gemfile
CHANGED
data/History.txt
CHANGED
|
@@ -1,3 +1,37 @@
|
|
|
1
|
+
v11.1.0
|
|
2
|
+
2017-01-12: Casting an RDF::URI to a RDF::URI is unnecessary [Justin Coyne]
|
|
3
|
+
|
|
4
|
+
2017-01-06: Replace deprecated Fixnum with Integer [Justin Coyne]
|
|
5
|
+
|
|
6
|
+
2017-01-06: Pin rubocop-rspec to 1.8.0 [Justin Coyne]
|
|
7
|
+
|
|
8
|
+
2017-01-06: Add Ruby 2.4.0 to the test matrix [Justin Coyne]
|
|
9
|
+
|
|
10
|
+
2016-12-19: Removing invalid namespaces from tests [Esmé Cowles]
|
|
11
|
+
|
|
12
|
+
2016-12-16: Correct the documentation [Justin Coyne]
|
|
13
|
+
|
|
14
|
+
2016-11-14: Use base_uri instead of relying on id_to_uri [Chris Colvard]
|
|
15
|
+
|
|
16
|
+
2016-11-14: Add base_uri convenience method [Chris Colvard]
|
|
17
|
+
|
|
18
|
+
2016-11-09: There is no need to pin rake anylonger [Justin Coyne]
|
|
19
|
+
|
|
20
|
+
2016-10-28: Allow logger to be set by default. Fixes #1170 [Justin Coyne]
|
|
21
|
+
|
|
22
|
+
2016-10-28: Add return value YARD doc [Justin Coyne]
|
|
23
|
+
|
|
24
|
+
2016-10-28: Update to latest Rubocop [Adam Wead]
|
|
25
|
+
|
|
26
|
+
2016-10-27: Stop spamming IRC with Travis builds [Michael J. Giarlo]
|
|
27
|
+
|
|
28
|
+
2016-10-19: Changing file to accept any object that responds to URI including
|
|
29
|
+
another File object or a Version [Carolyn Cole]
|
|
30
|
+
|
|
31
|
+
2016-09-30: Test with rsolr 2.x [Chris Beer]
|
|
32
|
+
|
|
33
|
+
2016-09-22: Use ActiveFedora::NullLogger [Adam Wead]
|
|
34
|
+
|
|
1
35
|
v9.10.1
|
|
2
36
|
2016-03-26: Fix #reflect_on_association. [Trey Pendragon]
|
|
3
37
|
|
data/active-fedora.gemspec
CHANGED
|
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
|
|
|
14
14
|
s.license = "APACHE2"
|
|
15
15
|
s.required_ruby_version = '~> 2.0'
|
|
16
16
|
|
|
17
|
-
s.add_dependency 'rsolr', '
|
|
17
|
+
s.add_dependency 'rsolr', '>= 1.1.2', '< 3'
|
|
18
18
|
s.add_dependency 'solrizer', '~> 3.4'
|
|
19
19
|
s.add_dependency "activesupport", '>= 4.2.4', '< 6'
|
|
20
20
|
s.add_dependency "activemodel", '>= 4.2', '< 6'
|
|
@@ -25,8 +25,7 @@ Gem::Specification.new do |s|
|
|
|
25
25
|
s.add_development_dependency "rails"
|
|
26
26
|
s.add_development_dependency "rdoc"
|
|
27
27
|
s.add_development_dependency "yard"
|
|
28
|
-
|
|
29
|
-
s.add_development_dependency "rake", '~> 10.0'
|
|
28
|
+
s.add_development_dependency "rake"
|
|
30
29
|
s.add_development_dependency "solr_wrapper", "~> 0.15"
|
|
31
30
|
s.add_development_dependency 'fcrepo_wrapper', '~> 0.2'
|
|
32
31
|
s.add_development_dependency "rspec", "~> 3.0"
|
|
@@ -34,7 +33,7 @@ Gem::Specification.new do |s|
|
|
|
34
33
|
s.add_development_dependency "equivalent-xml"
|
|
35
34
|
s.add_development_dependency "simplecov", '~> 0.8'
|
|
36
35
|
s.add_development_dependency "rubocop", '~> 0.42.0'
|
|
37
|
-
s.add_development_dependency "rubocop-rspec", '~> 1.
|
|
36
|
+
s.add_development_dependency "rubocop-rspec", '~> 1.8.0'
|
|
38
37
|
|
|
39
38
|
s.files = `git ls-files`.split("\n")
|
|
40
39
|
s.test_files = `git ls-files -- {spec}/*`.split("\n")
|
data/lib/active_fedora.rb
CHANGED
|
@@ -204,7 +204,7 @@ module ActiveFedora
|
|
|
204
204
|
# Note that this method will _always_ remove records from the database
|
|
205
205
|
# ignoring the +:dependent+ option.
|
|
206
206
|
def destroy(*records)
|
|
207
|
-
records = find(records) if records.any? { |record| record.is_a?(
|
|
207
|
+
records = find(records) if records.any? { |record| record.is_a?(Integer) || record.is_a?(String) }
|
|
208
208
|
delete_or_destroy(records, :destroy)
|
|
209
209
|
end
|
|
210
210
|
|
|
@@ -305,7 +305,7 @@ module ActiveFedora
|
|
|
305
305
|
records.each { |record| set_inverse_instance(record) }
|
|
306
306
|
records
|
|
307
307
|
rescue ObjectNotFoundError, Ldp::Gone => e
|
|
308
|
-
ActiveFedora::Base.logger.error "Solr and Fedora may be out of sync:\n" + e.message
|
|
308
|
+
ActiveFedora::Base.logger.error "Solr and Fedora may be out of sync:\n" + e.message
|
|
309
309
|
reset
|
|
310
310
|
[]
|
|
311
311
|
end
|
|
@@ -115,7 +115,7 @@ module ActiveFedora
|
|
|
115
115
|
end
|
|
116
116
|
|
|
117
117
|
# Finds an object in the collection responding to the +id+. Uses the same
|
|
118
|
-
# rules as <tt>ActiveFedora::Base.find</tt>. Returns <tt>ActiveFedora::
|
|
118
|
+
# rules as <tt>ActiveFedora::Base.find</tt>. Returns <tt>ActiveFedora::ObjectNotFoundError</tt>
|
|
119
119
|
# error if the object can not be found.
|
|
120
120
|
#
|
|
121
121
|
# class Person < ActiveFedora::Base
|
|
@@ -130,7 +130,7 @@ module ActiveFedora
|
|
|
130
130
|
# # ]
|
|
131
131
|
#
|
|
132
132
|
# person.pets.find(1) # => #<Pet id: 1, name: "Fancy-Fancy", person_id: 1>
|
|
133
|
-
# person.pets.find(4) # => ActiveFedora::
|
|
133
|
+
# person.pets.find(4) # => ActiveFedora::ObjectNotFoundError: Couldn't find Pet with id=4
|
|
134
134
|
#
|
|
135
135
|
# person.pets.find(2) { |pet| pet.name.downcase! }
|
|
136
136
|
# # => #<Pet id: 2, name: "fancy-fancy", person_id: 1>
|
|
@@ -394,7 +394,7 @@ module ActiveFedora
|
|
|
394
394
|
# # ]
|
|
395
395
|
#
|
|
396
396
|
# Pet.find(1, 2, 3)
|
|
397
|
-
# # => ActiveFedora::
|
|
397
|
+
# # => ActiveFedora::ObjectNotFoundError
|
|
398
398
|
#
|
|
399
399
|
# If it is set to <tt>:delete_all</tt>, all the objects are deleted
|
|
400
400
|
# *without* calling their +destroy+ method.
|
|
@@ -419,7 +419,7 @@ module ActiveFedora
|
|
|
419
419
|
# # ]
|
|
420
420
|
#
|
|
421
421
|
# Pet.find(1, 2, 3)
|
|
422
|
-
# # => ActiveFedora::
|
|
422
|
+
# # => ActiveFedora::ObjectNotFoundError
|
|
423
423
|
def delete_all
|
|
424
424
|
@association.delete_all
|
|
425
425
|
end
|
|
@@ -511,7 +511,7 @@ module ActiveFedora
|
|
|
511
511
|
# # => [#<Pet id: 2, name: "Spook", person_id: 1>]
|
|
512
512
|
#
|
|
513
513
|
# Pet.find(1, 3)
|
|
514
|
-
# # => ActiveFedora::
|
|
514
|
+
# # => ActiveFedora::ObjectNotFoundError: Couldn't find all Pets with IDs (1, 3)
|
|
515
515
|
#
|
|
516
516
|
# If it is set to <tt>:delete_all</tt>, all the +records+ are deleted
|
|
517
517
|
# *without* calling their +destroy+ method.
|
|
@@ -539,9 +539,9 @@ module ActiveFedora
|
|
|
539
539
|
# # ]
|
|
540
540
|
#
|
|
541
541
|
# Pet.find(1)
|
|
542
|
-
# # => ActiveFedora::
|
|
542
|
+
# # => ActiveFedora::ObjectNotFoundError: Couldn't find Pet with id=1
|
|
543
543
|
#
|
|
544
|
-
# You can pass +
|
|
544
|
+
# You can pass +Integer+ or +String+ values, it finds the records
|
|
545
545
|
# responding to the +id+ and executes delete on them.
|
|
546
546
|
#
|
|
547
547
|
# class Person < ActiveFedora::Base
|
|
@@ -603,9 +603,9 @@ module ActiveFedora
|
|
|
603
603
|
# person.pets.size # => 0
|
|
604
604
|
# person.pets # => []
|
|
605
605
|
#
|
|
606
|
-
# Pet.find(1, 2, 3) # => ActiveFedora::
|
|
606
|
+
# Pet.find(1, 2, 3) # => ActiveFedora::ObjectNotFoundError: Couldn't find all Pets with IDs (1, 2, 3)
|
|
607
607
|
#
|
|
608
|
-
# You can pass +
|
|
608
|
+
# You can pass +Integer+ or +String+ values, it finds the records
|
|
609
609
|
# responding to the +id+ and then deletes them from the database.
|
|
610
610
|
#
|
|
611
611
|
# person.pets.size # => 3
|
|
@@ -635,7 +635,7 @@ module ActiveFedora
|
|
|
635
635
|
# person.pets.size # => 0
|
|
636
636
|
# person.pets # => []
|
|
637
637
|
#
|
|
638
|
-
# Pet.find(4, 5, 6) # => ActiveFedora::
|
|
638
|
+
# Pet.find(4, 5, 6) # => ActiveFedora::ObjectNotFoundError: Couldn't find all Pets with IDs (4, 5, 6)
|
|
639
639
|
def destroy(*records)
|
|
640
640
|
@association.destroy(*records)
|
|
641
641
|
end
|
|
@@ -21,7 +21,7 @@ module ActiveFedora
|
|
|
21
21
|
if reflection.options[:inverse_of]
|
|
22
22
|
inverse = reflection.inverse_of
|
|
23
23
|
if owner.new_record?
|
|
24
|
-
ActiveFedora::Base.logger.warn("has_and_belongs_to_many #{reflection.inspect} is cowardly refusing to insert the inverse relationship into #{record}, because #{owner} is not persisted yet.")
|
|
24
|
+
ActiveFedora::Base.logger.warn("has_and_belongs_to_many #{reflection.inspect} is cowardly refusing to insert the inverse relationship into #{record}, because #{owner} is not persisted yet.")
|
|
25
25
|
elsif inverse.has_and_belongs_to_many?
|
|
26
26
|
record[inverse.foreign_key] ||= []
|
|
27
27
|
record[inverse.foreign_key] += [owner.id]
|
|
@@ -138,7 +138,7 @@ module ActiveFedora
|
|
|
138
138
|
def warn_duplicate_predicates(new_name, new_properties)
|
|
139
139
|
new_predicate = new_properties[:predicate]
|
|
140
140
|
properties.select { |_k, existing| existing.predicate == new_predicate }.each do |key, _value|
|
|
141
|
-
ActiveFedora::Base.logger.warn "Same predicate (#{new_predicate}) used for properties #{key} and #{new_name}"
|
|
141
|
+
ActiveFedora::Base.logger.warn "Same predicate (#{new_predicate}) used for properties #{key} and #{new_name}"
|
|
142
142
|
end
|
|
143
143
|
end
|
|
144
144
|
|
data/lib/active_fedora/core.rb
CHANGED
|
@@ -8,13 +8,19 @@ module ActiveFedora
|
|
|
8
8
|
autoload :FedoraUriTranslator
|
|
9
9
|
|
|
10
10
|
included do
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
#
|
|
11
|
+
mattr_accessor :belongs_to_required_by_default, instance_accessor: false
|
|
12
|
+
|
|
14
13
|
# Accepts a logger conforming to the interface of Log4r which can be
|
|
15
14
|
# retrieved on both a class and instance level by calling +logger+.
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
class_attribute :logger
|
|
16
|
+
|
|
17
|
+
# Use NullLogger as the default and all messages sent to it are retuned as nil
|
|
18
|
+
self.logger = ActiveFedora::NullLogger.new
|
|
19
|
+
|
|
20
|
+
# All instances default to the class-level logger
|
|
21
|
+
def logger
|
|
22
|
+
self.class.logger
|
|
23
|
+
end
|
|
18
24
|
end
|
|
19
25
|
|
|
20
26
|
# Constructor. You may supply a custom +:id+, or we call the Fedora Rest API for the
|
data/lib/active_fedora/fedora.rb
CHANGED
|
@@ -23,11 +23,15 @@ module ActiveFedora
|
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
def host
|
|
26
|
-
@config[:url]
|
|
26
|
+
@config[:url].sub(/\/$/, BLANK)
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
def base_path
|
|
30
|
-
@config[:base_path] ||
|
|
30
|
+
@config[:base_path] || SLASH
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def base_uri
|
|
34
|
+
host + base_path.sub(/\/$/, BLANK)
|
|
31
35
|
end
|
|
32
36
|
|
|
33
37
|
def user
|
|
@@ -86,7 +90,7 @@ module ActiveFedora
|
|
|
86
90
|
|
|
87
91
|
def validate_options
|
|
88
92
|
unless host.downcase.end_with?("/rest")
|
|
89
|
-
ActiveFedora::Base.logger.warn "Fedora URL (#{host}) does not end with /rest. This could be a problem. Check your fedora.yml config"
|
|
93
|
+
ActiveFedora::Base.logger.warn "Fedora URL (#{host}) does not end with /rest. This could be a problem. Check your fedora.yml config"
|
|
90
94
|
end
|
|
91
95
|
end
|
|
92
96
|
end
|
data/lib/active_fedora/file.rb
CHANGED
|
@@ -31,6 +31,7 @@ module ActiveFedora
|
|
|
31
31
|
# @yieldparam [File] self the newly created file
|
|
32
32
|
def initialize(identifier = nil, &_block)
|
|
33
33
|
identifier = identifier.delete(:id) if identifier.is_a? Hash
|
|
34
|
+
identifier = identifier.uri if identifier.respond_to? :uri
|
|
34
35
|
run_callbacks(:initialize) do
|
|
35
36
|
case identifier
|
|
36
37
|
when nil, ::RDF::URI
|
|
@@ -99,7 +99,7 @@ module ActiveFedora
|
|
|
99
99
|
def load_fedora_config
|
|
100
100
|
return @fedora_config unless @fedora_config.empty?
|
|
101
101
|
@fedora_config_path = config_path(:fedora)
|
|
102
|
-
ActiveFedora::Base.logger.info("ActiveFedora: loading fedora config from #{::File.expand_path(@fedora_config_path)}")
|
|
102
|
+
ActiveFedora::Base.logger.info("ActiveFedora: loading fedora config from #{::File.expand_path(@fedora_config_path)}")
|
|
103
103
|
|
|
104
104
|
begin
|
|
105
105
|
config_erb = ERB.new(IO.read(@fedora_config_path)).result(binding)
|
|
@@ -124,7 +124,7 @@ module ActiveFedora
|
|
|
124
124
|
return @solr_config unless @solr_config.empty?
|
|
125
125
|
@solr_config_path = config_path(:solr)
|
|
126
126
|
|
|
127
|
-
ActiveFedora::Base.logger.info "ActiveFedora: loading solr config from #{::File.expand_path(@solr_config_path)}"
|
|
127
|
+
ActiveFedora::Base.logger.info "ActiveFedora: loading solr config from #{::File.expand_path(@solr_config_path)}"
|
|
128
128
|
begin
|
|
129
129
|
config_erb = ERB.new(IO.read(@solr_config_path)).result(binding)
|
|
130
130
|
rescue StandardError
|
|
@@ -188,7 +188,7 @@ module ActiveFedora
|
|
|
188
188
|
# Last choice, check for the default config file
|
|
189
189
|
config_path = ::File.join(ActiveFedora.root, "config", "#{config_type}.yml")
|
|
190
190
|
if ::File.file? config_path
|
|
191
|
-
ActiveFedora::Base.logger.warn "Using the default #{config_type}.yml that comes with active-fedora. If you want to override this, pass the path to #{config_type}.yml to ActiveFedora - ie. ActiveFedora.init(:#{config_type}_config_path => '/path/to/#{config_type}.yml') - or set Rails.root and put #{config_type}.yml into \#{Rails.root}/config."
|
|
191
|
+
ActiveFedora::Base.logger.warn "Using the default #{config_type}.yml that comes with active-fedora. If you want to override this, pass the path to #{config_type}.yml to ActiveFedora - ie. ActiveFedora.init(:#{config_type}_config_path => '/path/to/#{config_type}.yml') - or set Rails.root and put #{config_type}.yml into \#{Rails.root}/config."
|
|
192
192
|
return config_path
|
|
193
193
|
else
|
|
194
194
|
raise ConfigurationError, "Couldn't load #{config_type} config file!"
|
|
@@ -83,7 +83,7 @@ module ActiveFedora
|
|
|
83
83
|
end
|
|
84
84
|
|
|
85
85
|
def reindex_everything
|
|
86
|
-
descendants = descendant_uris(ActiveFedora
|
|
86
|
+
descendants = descendant_uris(ActiveFedora.fedora.base_uri)
|
|
87
87
|
descendants.shift # Discard the root uri
|
|
88
88
|
descendants.each do |uri|
|
|
89
89
|
logger.debug "Re-index everything ... #{uri}"
|
|
@@ -54,7 +54,7 @@ module ActiveFedora
|
|
|
54
54
|
return if @initialized
|
|
55
55
|
|
|
56
56
|
connection.head(root_resource_path)
|
|
57
|
-
ActiveFedora::Base.logger.info "Attempted to init base path `#{root_resource_path}`, but it already exists"
|
|
57
|
+
ActiveFedora::Base.logger.info "Attempted to init base path `#{root_resource_path}`, but it already exists"
|
|
58
58
|
@initialized = true
|
|
59
59
|
false
|
|
60
60
|
rescue Ldp::NotFound
|
|
@@ -176,7 +176,7 @@ module ActiveFedora
|
|
|
176
176
|
def property_reflection(attribute_name)
|
|
177
177
|
self.class.reflect_on_property(attribute_name)
|
|
178
178
|
rescue ActiveTriples::UndefinedPropertyError
|
|
179
|
-
ActiveFedora::Base.logger.info "Undefined property #{attribute_name} reflected."
|
|
179
|
+
ActiveFedora::Base.logger.info "Undefined property #{attribute_name} reflected."
|
|
180
180
|
nil
|
|
181
181
|
end
|
|
182
182
|
|
|
@@ -60,7 +60,7 @@ module ActiveFedora
|
|
|
60
60
|
|
|
61
61
|
def classify(model_value)
|
|
62
62
|
unless class_exists?(model_value)
|
|
63
|
-
ActiveFedora::Base.logger.warn "'#{model_value}' is not a real class"
|
|
63
|
+
ActiveFedora::Base.logger.warn "'#{model_value}' is not a real class"
|
|
64
64
|
return nil
|
|
65
65
|
end
|
|
66
66
|
ActiveFedora::ModelClassifier.class_from_string(model_value)
|
|
@@ -174,7 +174,7 @@ module ActiveFedora
|
|
|
174
174
|
def proxy_in
|
|
175
175
|
proxies = to_a.map(&:proxy_in_id).compact.uniq
|
|
176
176
|
if proxies.length > 1
|
|
177
|
-
ActiveFedora::Base.logger.warn "WARNING: List contains nodes aggregated under different URIs. Returning only the first."
|
|
177
|
+
ActiveFedora::Base.logger.warn "WARNING: List contains nodes aggregated under different URIs. Returning only the first."
|
|
178
178
|
end
|
|
179
179
|
proxies.first
|
|
180
180
|
end
|
|
@@ -130,7 +130,7 @@ module ActiveFedora
|
|
|
130
130
|
begin
|
|
131
131
|
yield(load_from_fedora(hit[ActiveFedora.id_field], cast))
|
|
132
132
|
rescue Ldp::Gone
|
|
133
|
-
ActiveFedora::Base.logger.error "Although #{hit[ActiveFedora.id_field]} was found in Solr, it doesn't seem to exist in Fedora. The index is out of synch."
|
|
133
|
+
ActiveFedora::Base.logger.error "Although #{hit[ActiveFedora.id_field]} was found in Solr, it doesn't seem to exist in Fedora. The index is out of synch."
|
|
134
134
|
end
|
|
135
135
|
end
|
|
136
136
|
end
|
|
@@ -240,11 +240,13 @@ module ActiveFedora
|
|
|
240
240
|
|
|
241
241
|
# Returns a solr query for the supplied conditions
|
|
242
242
|
# @param[Hash,String,Array] conditions solr conditions to match
|
|
243
|
+
# @return [String]
|
|
243
244
|
def create_query(conditions)
|
|
244
245
|
build_query(build_where(conditions))
|
|
245
246
|
end
|
|
246
247
|
|
|
247
248
|
# @param [Array<String>] conditions
|
|
249
|
+
# @return [String]
|
|
248
250
|
def build_query(conditions)
|
|
249
251
|
clauses = search_model_clause ? [search_model_clause] : []
|
|
250
252
|
clauses += conditions.reject(&:blank?)
|
|
@@ -36,7 +36,7 @@ module ActiveFedora
|
|
|
36
36
|
|
|
37
37
|
def model(opts = {})
|
|
38
38
|
best_model_match = classifier.best_model(opts)
|
|
39
|
-
ActiveFedora::Base.logger.warn "Could not find a model for #{id}, defaulting to ActiveFedora::Base" if
|
|
39
|
+
ActiveFedora::Base.logger.warn "Could not find a model for #{id}, defaulting to ActiveFedora::Base" if best_model_match == ActiveFedora::Base
|
|
40
40
|
best_model_match
|
|
41
41
|
end
|
|
42
42
|
|
|
@@ -10,6 +10,7 @@ module ActiveFedora
|
|
|
10
10
|
# this class rather than being in the DefaultSchema.
|
|
11
11
|
property :mime_type, predicate: ::RDF::Vocab::EBUCore.hasMimeType
|
|
12
12
|
|
|
13
|
+
# @param file [ActiveFedora::File]
|
|
13
14
|
def initialize(file)
|
|
14
15
|
@file = file
|
|
15
16
|
super(file.uri, ldp_source.graph)
|
|
@@ -44,7 +45,7 @@ module ActiveFedora
|
|
|
44
45
|
|
|
45
46
|
def save
|
|
46
47
|
raise "Save the file first" if file.new_record?
|
|
47
|
-
SparqlInsert.new(changes_for_update,
|
|
48
|
+
SparqlInsert.new(changes_for_update, file.uri).execute(metadata_uri)
|
|
48
49
|
@ldp_source = nil
|
|
49
50
|
true
|
|
50
51
|
end
|
|
@@ -48,12 +48,12 @@ describe ActiveFedora::Base do
|
|
|
48
48
|
|
|
49
49
|
describe "#errors" do
|
|
50
50
|
subject { obj.errors }
|
|
51
|
-
it {
|
|
51
|
+
it { is_expected.to be_empty }
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
describe "#id" do
|
|
55
55
|
subject { obj.id }
|
|
56
|
-
it {
|
|
56
|
+
it { is_expected.to_not be_nil }
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
context "when updated with changes after one second" do
|
|
@@ -71,12 +71,12 @@ describe ActiveFedora::Base do
|
|
|
71
71
|
|
|
72
72
|
describe "#create_date" do
|
|
73
73
|
subject { obj.create_date }
|
|
74
|
-
it {
|
|
74
|
+
it { is_expected.to_not be_nil }
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
describe "#modified_date" do
|
|
78
78
|
subject { obj.modified_date }
|
|
79
|
-
it {
|
|
79
|
+
it { is_expected.to_not be_nil }
|
|
80
80
|
end
|
|
81
81
|
|
|
82
82
|
describe "delete" do
|
|
@@ -130,7 +130,7 @@ describe ActiveFedora::Base do
|
|
|
130
130
|
expect(described_class.exists?(obj.id)).to be true
|
|
131
131
|
end
|
|
132
132
|
it "returns false for ids that don't exist" do
|
|
133
|
-
expect(described_class.exists?('
|
|
133
|
+
expect(described_class.exists?('test_missing_object')).to be false
|
|
134
134
|
end
|
|
135
135
|
it "returns false for nil" do
|
|
136
136
|
expect(described_class.exists?(nil)).to be false
|
|
@@ -84,7 +84,7 @@ describe ActiveFedora::File do
|
|
|
84
84
|
allow_any_instance_of(SampleResource).to receive(:content_changed?).and_return(true)
|
|
85
85
|
end
|
|
86
86
|
subject { descMetadata.described_by }
|
|
87
|
-
it {
|
|
87
|
+
it { is_expected.to eq descMetadata.uri + '/fcr:metadata' }
|
|
88
88
|
end
|
|
89
89
|
end
|
|
90
90
|
|
|
@@ -108,7 +108,7 @@ describe ActiveFedora::File do
|
|
|
108
108
|
|
|
109
109
|
describe "the metadata file" do
|
|
110
110
|
subject { descMetadata }
|
|
111
|
-
it {
|
|
111
|
+
it { is_expected.to be_a_kind_of(described_class) }
|
|
112
112
|
end
|
|
113
113
|
|
|
114
114
|
context "a binary file" do
|
|
@@ -145,19 +145,19 @@ describe ActiveFedora::File do
|
|
|
145
145
|
subject { str = ''; test_object.webm.stream(range).each { |chunk| str << chunk }; str }
|
|
146
146
|
context "whole thing" do
|
|
147
147
|
let(:range) { 'bytes=0-15' }
|
|
148
|
-
it {
|
|
148
|
+
it { is_expected.to eq 'one1two2threfour' }
|
|
149
149
|
end
|
|
150
150
|
context "open ended" do
|
|
151
151
|
let(:range) { 'bytes=0-' }
|
|
152
|
-
it {
|
|
152
|
+
it { is_expected.to eq 'one1two2threfour' }
|
|
153
153
|
end
|
|
154
154
|
context "not starting at the beginning" do
|
|
155
155
|
let(:range) { 'bytes=3-15' }
|
|
156
|
-
it {
|
|
156
|
+
it { is_expected.to eq '1two2threfour' }
|
|
157
157
|
end
|
|
158
158
|
context "not ending at the end" do
|
|
159
159
|
let(:range) { 'bytes=4-11' }
|
|
160
|
-
it {
|
|
160
|
+
it { is_expected.to eq 'two2thre' }
|
|
161
161
|
end
|
|
162
162
|
end
|
|
163
163
|
|
|
@@ -168,7 +168,7 @@ describe ActiveFedora::File do
|
|
|
168
168
|
test_object.save!
|
|
169
169
|
end
|
|
170
170
|
subject { str = ''; test_object.redirector.stream.each { |chunk| str << chunk }; str }
|
|
171
|
-
it {
|
|
171
|
+
it { is_expected.to eq 'one1two2threfour' }
|
|
172
172
|
end
|
|
173
173
|
|
|
174
174
|
context "when there are more than 3 requests because of redirects" do
|
|
@@ -171,14 +171,14 @@ describe ActiveFedora::Base do
|
|
|
171
171
|
|
|
172
172
|
describe "#empty?" do
|
|
173
173
|
subject { book.collections }
|
|
174
|
-
it {
|
|
174
|
+
it { is_expected.to_not be_empty }
|
|
175
175
|
end
|
|
176
176
|
end
|
|
177
177
|
|
|
178
178
|
context "when a book isn't in a collection" do
|
|
179
179
|
describe "#empty?" do
|
|
180
180
|
subject { book.collections }
|
|
181
|
-
it {
|
|
181
|
+
it { is_expected.to be_empty }
|
|
182
182
|
end
|
|
183
183
|
end
|
|
184
184
|
end
|
|
@@ -27,16 +27,16 @@ describe ActiveFedora::Scoping::Named do
|
|
|
27
27
|
describe '#find' do
|
|
28
28
|
describe "#find with a valid id without cast" do
|
|
29
29
|
subject { ActiveFedora::Base.find(test_instance.id) }
|
|
30
|
-
it {
|
|
30
|
+
it { is_expected.to be_instance_of TestClass }
|
|
31
31
|
end
|
|
32
32
|
describe "#find with a valid id with cast of false" do
|
|
33
33
|
subject { ActiveFedora::Base.find(test_instance.id, cast: false) }
|
|
34
|
-
it {
|
|
34
|
+
it { is_expected.to be_instance_of ActiveFedora::Base }
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
describe "#find with a valid id without cast on a model extending Base" do
|
|
38
38
|
subject { TestClass.find(test_instance.id) }
|
|
39
|
-
it {
|
|
39
|
+
it { is_expected.to be_instance_of TestClass }
|
|
40
40
|
end
|
|
41
41
|
end
|
|
42
42
|
end
|
data/spec/unit/base_spec.rb
CHANGED
|
@@ -165,11 +165,11 @@ describe ActiveFedora::Base do
|
|
|
165
165
|
context "before saving" do
|
|
166
166
|
context "#to_param" do
|
|
167
167
|
subject { @test_object.to_param }
|
|
168
|
-
it {
|
|
168
|
+
it { is_expected.to be_nil }
|
|
169
169
|
end
|
|
170
170
|
context "#to_key" do
|
|
171
171
|
subject { @test_object.to_key }
|
|
172
|
-
it {
|
|
172
|
+
it { is_expected.to be_nil }
|
|
173
173
|
end
|
|
174
174
|
end
|
|
175
175
|
|
|
@@ -181,12 +181,12 @@ describe ActiveFedora::Base do
|
|
|
181
181
|
|
|
182
182
|
context "#to_param" do
|
|
183
183
|
subject { @test_object.to_param }
|
|
184
|
-
it {
|
|
184
|
+
it { is_expected.to eq 'one/two/three' }
|
|
185
185
|
end
|
|
186
186
|
|
|
187
187
|
context "#to_key" do
|
|
188
188
|
subject { @test_object.to_key }
|
|
189
|
-
it {
|
|
189
|
+
it { is_expected.to eq ['one/two/three'] }
|
|
190
190
|
end
|
|
191
191
|
end
|
|
192
192
|
### end ActiveModel::Conversions
|
|
@@ -253,7 +253,7 @@ describe ActiveFedora::Base do
|
|
|
253
253
|
end
|
|
254
254
|
|
|
255
255
|
it "updates the resource" do
|
|
256
|
-
expect(test_object.resource.rdf_subject).to eq ::RDF::URI.new("#{ActiveFedora.fedora.
|
|
256
|
+
expect(test_object.resource.rdf_subject).to eq ::RDF::URI.new("#{ActiveFedora.fedora.base_uri}/#{@this_id}")
|
|
257
257
|
expect(test_object.title).to eq ['foo']
|
|
258
258
|
end
|
|
259
259
|
end
|
|
@@ -3,6 +3,6 @@ require 'spec_helper'
|
|
|
3
3
|
describe ActiveFedora::Associations::Builder::HasAndBelongsToMany do
|
|
4
4
|
describe "valid_options" do
|
|
5
5
|
subject { described_class.valid_options({}) }
|
|
6
|
-
it {
|
|
6
|
+
it { is_expected.to match_array [:class_name, :predicate, :type_validator, :before_add, :after_add, :before_remove, :after_remove, :inverse_of, :solr_page_size, :autosave] }
|
|
7
7
|
end
|
|
8
8
|
end
|
|
@@ -4,7 +4,7 @@ RSpec.describe ActiveFedora::Core::FedoraIdTranslator do
|
|
|
4
4
|
describe ".call" do
|
|
5
5
|
let(:result) { described_class.call(id) }
|
|
6
6
|
context "when given an id" do
|
|
7
|
-
let(:good_uri) { ActiveFedora.fedora.
|
|
7
|
+
let(:good_uri) { ActiveFedora.fedora.base_uri + "/banana" }
|
|
8
8
|
let(:id) { "banana" }
|
|
9
9
|
it "returns a fedora URI" do
|
|
10
10
|
expect(result).to eq good_uri
|
|
@@ -18,7 +18,7 @@ RSpec.describe ActiveFedora::Core::FedoraIdTranslator do
|
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
context "with characters that need escaping" do
|
|
21
|
-
let(:good_uri) { ActiveFedora.fedora.
|
|
21
|
+
let(:good_uri) { ActiveFedora.fedora.base_uri + "/%5Bfrob%5D" }
|
|
22
22
|
let(:id) { "[frob]" }
|
|
23
23
|
it "returns a good fedora URI" do
|
|
24
24
|
expect(result).to eq good_uri
|
|
@@ -4,13 +4,13 @@ RSpec.describe ActiveFedora::Core::FedoraUriTranslator do
|
|
|
4
4
|
describe ".call" do
|
|
5
5
|
let(:result) { described_class.call(uri) }
|
|
6
6
|
context "when given a Fedora URI" do
|
|
7
|
-
let(:uri) { ActiveFedora.fedora.
|
|
7
|
+
let(:uri) { ActiveFedora.fedora.base_uri + "/6" }
|
|
8
8
|
it "returns the id" do
|
|
9
9
|
expect(result).to eq '6'
|
|
10
10
|
end
|
|
11
11
|
end
|
|
12
12
|
context "when given a URI missing a slash" do
|
|
13
|
-
let(:uri) { ActiveFedora.fedora.
|
|
13
|
+
let(:uri) { ActiveFedora.fedora.base_uri + "602-a" }
|
|
14
14
|
it "returns the id" do
|
|
15
15
|
expect(result).to eq "602-a"
|
|
16
16
|
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe ActiveFedora::NullLogger do
|
|
4
|
+
before { ActiveFedora::Base.logger = described_class.new }
|
|
5
|
+
describe "::logger" do
|
|
6
|
+
let(:logger) { ActiveFedora::Base.logger }
|
|
7
|
+
it "when calling the logger" do
|
|
8
|
+
expect(logger.warn("warning!")).to be_nil
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
describe "#logger" do
|
|
13
|
+
let(:logger) { ActiveFedora::Base.new.logger }
|
|
14
|
+
it "when calling the logger" do
|
|
15
|
+
expect(logger.warn("warning!")).to be_nil
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
data/spec/unit/core_spec.rb
CHANGED
|
@@ -109,7 +109,7 @@ describe ActiveFedora::Base do
|
|
|
109
109
|
subject(:uri) { described_class.id_to_uri(id) }
|
|
110
110
|
|
|
111
111
|
context "with no custom proc is set" do
|
|
112
|
-
it {
|
|
112
|
+
it { is_expected.to eq "#{ActiveFedora.fedora.base_uri}/123456w" }
|
|
113
113
|
it "justs call #translate_id_to_uri" do
|
|
114
114
|
allow(described_class).to receive(:translate_id_to_uri).and_call_original
|
|
115
115
|
allow(ActiveFedora::Core::FedoraIdTranslator).to receive(:call).and_call_original
|
|
@@ -122,11 +122,11 @@ describe ActiveFedora::Base do
|
|
|
122
122
|
|
|
123
123
|
context "when custom proc is set" do
|
|
124
124
|
before do
|
|
125
|
-
described_class.translate_id_to_uri = lambda { |id| "#{ActiveFedora.fedora.
|
|
125
|
+
described_class.translate_id_to_uri = lambda { |id| "#{ActiveFedora.fedora.base_uri}/foo/#{id}" }
|
|
126
126
|
end
|
|
127
127
|
after { described_class.translate_id_to_uri = nil }
|
|
128
128
|
|
|
129
|
-
it {
|
|
129
|
+
it { is_expected.to eq "#{ActiveFedora.fedora.base_uri}/foo/123456w" }
|
|
130
130
|
end
|
|
131
131
|
|
|
132
132
|
context "with an empty base path" do
|
|
@@ -145,11 +145,11 @@ describe ActiveFedora::Base do
|
|
|
145
145
|
end
|
|
146
146
|
|
|
147
147
|
describe "uri_to_id" do
|
|
148
|
-
let(:uri) { "#{ActiveFedora.fedora.
|
|
148
|
+
let(:uri) { "#{ActiveFedora.fedora.base_uri}/foo/123456w" }
|
|
149
149
|
subject(:uri_id) { described_class.uri_to_id(uri) }
|
|
150
150
|
|
|
151
151
|
context "with no custom proc is set" do
|
|
152
|
-
it {
|
|
152
|
+
it { is_expected.to eq 'foo/123456w' }
|
|
153
153
|
it "justs call #translate_uri_to_id" do
|
|
154
154
|
allow(described_class).to receive(:translate_uri_to_id).and_call_original
|
|
155
155
|
allow(ActiveFedora::Core::FedoraUriTranslator).to receive(:call).and_call_original
|
|
@@ -166,7 +166,7 @@ describe ActiveFedora::Base do
|
|
|
166
166
|
end
|
|
167
167
|
after { described_class.translate_uri_to_id = nil }
|
|
168
168
|
|
|
169
|
-
it {
|
|
169
|
+
it { is_expected.to eq '123456w' }
|
|
170
170
|
end
|
|
171
171
|
end
|
|
172
172
|
|
|
@@ -5,14 +5,14 @@ describe ActiveFedora::FilePathBuilder do
|
|
|
5
5
|
let(:parent) { ActiveFedora::Base.new(id: '1234') }
|
|
6
6
|
subject { described_class.build(parent, nil, 'FOO') }
|
|
7
7
|
|
|
8
|
-
it {
|
|
8
|
+
it { is_expected.to eq 'FOO1' }
|
|
9
9
|
|
|
10
10
|
context "when some datastreams exist" do
|
|
11
11
|
before do
|
|
12
12
|
allow(parent).to receive(:attached_files).and_return('FOO56' => instance_double(ActiveFedora::File))
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
it {
|
|
15
|
+
it { is_expected.to eq 'FOO57' }
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
18
|
end
|
data/spec/unit/file_spec.rb
CHANGED
|
@@ -51,14 +51,14 @@ describe ActiveFedora::File do
|
|
|
51
51
|
context "and it's initialized with the URI" do
|
|
52
52
|
let(:file) { described_class.new(parent.uri + "/FOO1") }
|
|
53
53
|
it "works" do
|
|
54
|
-
expect(uri.to_s).to eq "#{ActiveFedora.fedora.
|
|
54
|
+
expect(uri.to_s).to eq "#{ActiveFedora.fedora.base_uri}/1234/FOO1"
|
|
55
55
|
end
|
|
56
56
|
end
|
|
57
57
|
|
|
58
58
|
context "and it's initialized with an ID" do
|
|
59
59
|
let(:file) { described_class.new(parent.id + "/FOO1") }
|
|
60
60
|
it "works" do
|
|
61
|
-
expect(uri.to_s).to eq "#{ActiveFedora.fedora.
|
|
61
|
+
expect(uri.to_s).to eq "#{ActiveFedora.fedora.base_uri}/1234/FOO1"
|
|
62
62
|
end
|
|
63
63
|
end
|
|
64
64
|
end
|
|
@@ -425,4 +425,36 @@ describe ActiveFedora::File do
|
|
|
425
425
|
}
|
|
426
426
|
end
|
|
427
427
|
end
|
|
428
|
+
|
|
429
|
+
describe "#new" do
|
|
430
|
+
let(:file2) do
|
|
431
|
+
described_class.new do |file|
|
|
432
|
+
file.content = "My Content"
|
|
433
|
+
file.save!
|
|
434
|
+
end
|
|
435
|
+
end
|
|
436
|
+
|
|
437
|
+
context "when uri is passed to new" do
|
|
438
|
+
subject { described_class.new(file2.uri).content }
|
|
439
|
+
|
|
440
|
+
it { is_expected.to eq "My Content" }
|
|
441
|
+
end
|
|
442
|
+
|
|
443
|
+
context "when id is passed to new" do
|
|
444
|
+
subject { described_class.new(file2.id).content }
|
|
445
|
+
|
|
446
|
+
it { is_expected.to eq "My Content" }
|
|
447
|
+
end
|
|
448
|
+
|
|
449
|
+
context "when object responding to .uri is passed to new" do
|
|
450
|
+
subject { described_class.new(file2).content }
|
|
451
|
+
it { is_expected.to eq "My Content" }
|
|
452
|
+
end
|
|
453
|
+
|
|
454
|
+
context "when Array passed to new" do
|
|
455
|
+
it "raises an expection" do
|
|
456
|
+
expect { described_class.new([]) }.to raise_error
|
|
457
|
+
end
|
|
458
|
+
end
|
|
459
|
+
end
|
|
428
460
|
end
|
data/spec/unit/indexing_spec.rb
CHANGED
|
@@ -29,12 +29,12 @@ describe ActiveFedora::Indexing do
|
|
|
29
29
|
|
|
30
30
|
describe "#create_needs_index?" do
|
|
31
31
|
subject { SpecNode.new.send(:create_needs_index?) }
|
|
32
|
-
it {
|
|
32
|
+
it { is_expected.to be true }
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
describe "#update_needs_index?" do
|
|
36
36
|
subject { SpecNode.new.send(:update_needs_index?) }
|
|
37
|
-
it {
|
|
37
|
+
it { is_expected.to be true }
|
|
38
38
|
end
|
|
39
39
|
end
|
|
40
40
|
|
data/spec/unit/query_spec.rb
CHANGED
|
@@ -298,10 +298,10 @@ describe ActiveFedora::Base do
|
|
|
298
298
|
|
|
299
299
|
describe "#load_from_fedora" do
|
|
300
300
|
let(:relation) { ActiveFedora::Relation.new(described_class) }
|
|
301
|
-
before { @obj = SpecModel::Basic.create(id: "
|
|
301
|
+
before { @obj = SpecModel::Basic.create(id: "test_123") }
|
|
302
302
|
after { @obj.destroy }
|
|
303
303
|
it "casts when klass == ActiveFedora::Base and cast argument is nil" do
|
|
304
|
-
expect(relation.send(:load_from_fedora, "
|
|
304
|
+
expect(relation.send(:load_from_fedora, "test_123", nil)).to be_a SpecModel::Basic
|
|
305
305
|
end
|
|
306
306
|
end
|
|
307
307
|
end
|
|
@@ -22,7 +22,7 @@ describe ActiveFedora::Base do
|
|
|
22
22
|
validation_stub.attributes = { fubar: ['here'], swank: 'long enough' }
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
it {
|
|
25
|
+
it { is_expected.to be_valid }
|
|
26
26
|
end
|
|
27
27
|
describe "an invalid object" do
|
|
28
28
|
before do
|
|
@@ -36,8 +36,8 @@ describe ActiveFedora::Base do
|
|
|
36
36
|
end
|
|
37
37
|
|
|
38
38
|
describe "required terms" do
|
|
39
|
-
it {
|
|
40
|
-
it {
|
|
39
|
+
it { is_expected.to be_required(:fubar) }
|
|
40
|
+
it { is_expected.to_not be_required(:swank) }
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
describe "#save!" do
|
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: 11.0
|
|
4
|
+
version: 11.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Matt Zumwalt
|
|
@@ -10,28 +10,28 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2017-01-13 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: rsolr
|
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
|
18
18
|
requirements:
|
|
19
|
-
- - "~>"
|
|
20
|
-
- !ruby/object:Gem::Version
|
|
21
|
-
version: '1.1'
|
|
22
19
|
- - ">="
|
|
23
20
|
- !ruby/object:Gem::Version
|
|
24
21
|
version: 1.1.2
|
|
22
|
+
- - "<"
|
|
23
|
+
- !ruby/object:Gem::Version
|
|
24
|
+
version: '3'
|
|
25
25
|
type: :runtime
|
|
26
26
|
prerelease: false
|
|
27
27
|
version_requirements: !ruby/object:Gem::Requirement
|
|
28
28
|
requirements:
|
|
29
|
-
- - "~>"
|
|
30
|
-
- !ruby/object:Gem::Version
|
|
31
|
-
version: '1.1'
|
|
32
29
|
- - ">="
|
|
33
30
|
- !ruby/object:Gem::Version
|
|
34
31
|
version: 1.1.2
|
|
32
|
+
- - "<"
|
|
33
|
+
- !ruby/object:Gem::Version
|
|
34
|
+
version: '3'
|
|
35
35
|
- !ruby/object:Gem::Dependency
|
|
36
36
|
name: solrizer
|
|
37
37
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -174,16 +174,16 @@ dependencies:
|
|
|
174
174
|
name: rake
|
|
175
175
|
requirement: !ruby/object:Gem::Requirement
|
|
176
176
|
requirements:
|
|
177
|
-
- - "
|
|
177
|
+
- - ">="
|
|
178
178
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: '
|
|
179
|
+
version: '0'
|
|
180
180
|
type: :development
|
|
181
181
|
prerelease: false
|
|
182
182
|
version_requirements: !ruby/object:Gem::Requirement
|
|
183
183
|
requirements:
|
|
184
|
-
- - "
|
|
184
|
+
- - ">="
|
|
185
185
|
- !ruby/object:Gem::Version
|
|
186
|
-
version: '
|
|
186
|
+
version: '0'
|
|
187
187
|
- !ruby/object:Gem::Dependency
|
|
188
188
|
name: solr_wrapper
|
|
189
189
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -288,14 +288,14 @@ dependencies:
|
|
|
288
288
|
requirements:
|
|
289
289
|
- - "~>"
|
|
290
290
|
- !ruby/object:Gem::Version
|
|
291
|
-
version:
|
|
291
|
+
version: 1.8.0
|
|
292
292
|
type: :development
|
|
293
293
|
prerelease: false
|
|
294
294
|
version_requirements: !ruby/object:Gem::Requirement
|
|
295
295
|
requirements:
|
|
296
296
|
- - "~>"
|
|
297
297
|
- !ruby/object:Gem::Version
|
|
298
|
-
version:
|
|
298
|
+
version: 1.8.0
|
|
299
299
|
description: ActiveFedora provides for creating and managing objects in the Fedora
|
|
300
300
|
Repository Architecture.
|
|
301
301
|
email:
|
|
@@ -436,6 +436,7 @@ files:
|
|
|
436
436
|
- lib/active_fedora/log_subscriber.rb
|
|
437
437
|
- lib/active_fedora/model_classifier.rb
|
|
438
438
|
- lib/active_fedora/nested_attributes.rb
|
|
439
|
+
- lib/active_fedora/null_logger.rb
|
|
439
440
|
- lib/active_fedora/null_relation.rb
|
|
440
441
|
- lib/active_fedora/orders.rb
|
|
441
442
|
- lib/active_fedora/orders/collection_proxy.rb
|
|
@@ -604,6 +605,7 @@ files:
|
|
|
604
605
|
- spec/unit/config_spec.rb
|
|
605
606
|
- spec/unit/core/fedora_id_translator_spec.rb
|
|
606
607
|
- spec/unit/core/fedora_uri_translator_spec.rb
|
|
608
|
+
- spec/unit/core/logger_spec.rb
|
|
607
609
|
- spec/unit/core_spec.rb
|
|
608
610
|
- spec/unit/default_model_mapper_spec.rb
|
|
609
611
|
- spec/unit/fedora_spec.rb
|
|
@@ -675,7 +677,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
675
677
|
version: '0'
|
|
676
678
|
requirements: []
|
|
677
679
|
rubyforge_project:
|
|
678
|
-
rubygems_version: 2.
|
|
680
|
+
rubygems_version: 2.6.8
|
|
679
681
|
signing_key:
|
|
680
682
|
specification_version: 4
|
|
681
683
|
summary: A convenience libary for manipulating documents in the Fedora Repository.
|