active-fedora 11.0.1 → 11.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|