active-fedora 13.3.0 → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +106 -46
  3. data/.rubocop.yml +26 -12
  4. data/.rubocop_todo.yml +1 -1
  5. data/Gemfile +3 -3
  6. data/active-fedora.gemspec +11 -11
  7. data/lib/active_fedora/association_hash.rb +5 -2
  8. data/lib/active_fedora/associations/association.rb +2 -4
  9. data/lib/active_fedora/associations/association_scope.rb +1 -1
  10. data/lib/active_fedora/associations/basic_contains_association.rb +2 -2
  11. data/lib/active_fedora/associations/belongs_to_association.rb +1 -1
  12. data/lib/active_fedora/associations/builder/association.rb +3 -5
  13. data/lib/active_fedora/associations/builder/basic_contains.rb +1 -1
  14. data/lib/active_fedora/associations/builder/belongs_to.rb +3 -7
  15. data/lib/active_fedora/associations/builder/collection_association.rb +7 -7
  16. data/lib/active_fedora/associations/builder/directly_contains.rb +4 -6
  17. data/lib/active_fedora/associations/builder/directly_contains_one.rb +5 -6
  18. data/lib/active_fedora/associations/builder/has_and_belongs_to_many.rb +1 -1
  19. data/lib/active_fedora/associations/builder/has_many.rb +1 -1
  20. data/lib/active_fedora/associations/builder/has_subresource.rb +1 -1
  21. data/lib/active_fedora/associations/builder/indirectly_contains.rb +3 -6
  22. data/lib/active_fedora/associations/builder/singular_association.rb +1 -1
  23. data/lib/active_fedora/associations/collection_association.rb +3 -6
  24. data/lib/active_fedora/associations/container_proxy.rb +2 -0
  25. data/lib/active_fedora/associations/contains_association.rb +2 -2
  26. data/lib/active_fedora/associations/directly_contains_association.rb +7 -9
  27. data/lib/active_fedora/associations/directly_contains_one_association.rb +2 -2
  28. data/lib/active_fedora/associations/has_and_belongs_to_many_association.rb +1 -1
  29. data/lib/active_fedora/associations/has_many_association.rb +4 -2
  30. data/lib/active_fedora/associations/has_subresource_association.rb +2 -4
  31. data/lib/active_fedora/associations/indirectly_contains_association.rb +10 -12
  32. data/lib/active_fedora/associations/orders_association.rb +7 -14
  33. data/lib/active_fedora/associations/rdf.rb +2 -2
  34. data/lib/active_fedora/associations/record_composite.rb +1 -0
  35. data/lib/active_fedora/associations/singular_association.rb +3 -1
  36. data/lib/active_fedora/associations/singular_rdf.rb +1 -1
  37. data/lib/active_fedora/associations.rb +3 -3
  38. data/lib/active_fedora/attached_files.rb +5 -3
  39. data/lib/active_fedora/attribute_assignment.rb +2 -4
  40. data/lib/active_fedora/attribute_methods/read.rb +1 -1
  41. data/lib/active_fedora/attribute_methods/write.rb +4 -6
  42. data/lib/active_fedora/attribute_methods.rb +7 -7
  43. data/lib/active_fedora/attributes/property_builder.rb +1 -1
  44. data/lib/active_fedora/attributes.rb +1 -1
  45. data/lib/active_fedora/autosave_association.rb +4 -4
  46. data/lib/active_fedora/callbacks.rb +3 -3
  47. data/lib/active_fedora/change_set.rb +5 -7
  48. data/lib/active_fedora/cleaner.rb +1 -1
  49. data/lib/active_fedora/core/fedora_id_translator.rb +1 -3
  50. data/lib/active_fedora/core.rb +6 -13
  51. data/lib/active_fedora/errors.rb +3 -3
  52. data/lib/active_fedora/fedora.rb +3 -7
  53. data/lib/active_fedora/file/attributes.rb +5 -5
  54. data/lib/active_fedora/file.rb +1 -1
  55. data/lib/active_fedora/file_configurator.rb +16 -14
  56. data/lib/active_fedora/file_io.rb +2 -4
  57. data/lib/active_fedora/files_hash.rb +2 -2
  58. data/lib/active_fedora/fixity_service.rb +5 -5
  59. data/lib/active_fedora/identifiable.rb +2 -18
  60. data/lib/active_fedora/indexing/default_descriptors.rb +3 -5
  61. data/lib/active_fedora/indexing/descendant_fetcher.rb +3 -3
  62. data/lib/active_fedora/indexing/descriptor.rb +1 -1
  63. data/lib/active_fedora/indexing/field_mapper.rb +3 -5
  64. data/lib/active_fedora/indexing.rb +9 -5
  65. data/lib/active_fedora/indexing_service.rb +2 -2
  66. data/lib/active_fedora/inheritance.rb +1 -3
  67. data/lib/active_fedora/ldp_resource.rb +3 -3
  68. data/lib/active_fedora/loadable_from_json.rb +5 -3
  69. data/lib/active_fedora/model_classifier.rb +2 -2
  70. data/lib/active_fedora/nested_attributes.rb +11 -21
  71. data/lib/active_fedora/null_logger.rb +2 -0
  72. data/lib/active_fedora/orders/list_node.rb +2 -3
  73. data/lib/active_fedora/orders/ordered_list.rb +16 -22
  74. data/lib/active_fedora/orders/target_proxy.rb +1 -1
  75. data/lib/active_fedora/querying.rb +1 -1
  76. data/lib/active_fedora/rdf/fcrepo.rb +3 -0
  77. data/lib/active_fedora/rdf/field_map.rb +0 -1
  78. data/lib/active_fedora/rdf/persistence.rb +1 -1
  79. data/lib/active_fedora/reflection.rb +8 -11
  80. data/lib/active_fedora/relation/finder_methods.rb +6 -12
  81. data/lib/active_fedora/relation/spawn_methods.rb +1 -1
  82. data/lib/active_fedora/runtime_registry.rb +2 -4
  83. data/lib/active_fedora/scoping/default.rb +2 -4
  84. data/lib/active_fedora/scoping/named.rb +1 -3
  85. data/lib/active_fedora/scoping.rb +2 -2
  86. data/lib/active_fedora/serialization.rb +1 -1
  87. data/lib/active_fedora/solr_service.rb +1 -3
  88. data/lib/active_fedora/version.rb +1 -1
  89. data/lib/active_fedora/versionable.rb +2 -2
  90. data/lib/active_fedora/versions_graph.rb +4 -6
  91. data/lib/active_fedora/with_metadata/metadata_node.rb +1 -1
  92. data/lib/active_fedora/with_metadata.rb +1 -1
  93. data/lib/active_fedora.rb +5 -7
  94. data/lib/generators/active_fedora/config/solr/templates/solr/conf/solrconfig.xml +3 -1
  95. data/lib/tasks/active_fedora_dev.rake +5 -5
  96. metadata +25 -52
@@ -35,12 +35,10 @@ module ActiveFedora
35
35
  # empty, tail.prev is the first element.
36
36
  def tail
37
37
  @tail ||=
38
- begin
39
- if tail_subject
40
- TailSentinel.new(self, prev_node: build_node(tail_subject))
41
- else
42
- head.next
43
- end
38
+ if tail_subject
39
+ TailSentinel.new(self, prev_node: build_node(tail_subject))
40
+ else
41
+ head.next
44
42
  end
45
43
  end
46
44
 
@@ -113,14 +111,14 @@ module ActiveFedora
113
111
  # @param [ListNode] node Node to delete
114
112
  def delete_node(node)
115
113
  node = ordered_reader.find { |x| x == node }
116
- if node
117
- prev_node = node.prev
118
- next_node = node.next
119
- node.prev.next = next_node
120
- node.next.prev = prev_node
121
- @changed = true
122
- node
123
- end
114
+ return unless node
115
+
116
+ prev_node = node.prev
117
+ next_node = node.next
118
+ node.prev.next = next_node
119
+ node.next.prev = prev_node
120
+ @changed = true
121
+ node
124
122
  end
125
123
 
126
124
  # @param [Integer] loc Index of node to delete.
@@ -173,9 +171,7 @@ module ActiveFedora
173
171
  # the first.
174
172
  def proxy_in
175
173
  proxies = to_a.map(&:proxy_in_id).compact.uniq
176
- if proxies.length > 1
177
- ActiveFedora::Base.logger.warn "WARNING: List contains nodes aggregated under different URIs. Returning only the first."
178
- end
174
+ ActiveFedora::Base.logger.warn "WARNING: List contains nodes aggregated under different URIs. Returning only the first." if proxies.length > 1
179
175
  proxies.first
180
176
  end
181
177
 
@@ -208,9 +204,7 @@ module ActiveFedora
208
204
 
209
205
  def new_node_subject
210
206
  node = ::RDF::URI("##{::RDF::Node.new.id}")
211
- while node_cache.key?(node)
212
- node = ::RDF::URI("##{::RDF::Node.new.id}")
213
- end
207
+ node = ::RDF::URI("##{::RDF::Node.new.id}") while node_cache.key?(node)
214
208
  node
215
209
  end
216
210
 
@@ -251,14 +245,14 @@ module ActiveFedora
251
245
  end
252
246
 
253
247
  class HeadSentinel < Sentinel
254
- def initialize(*args)
248
+ def initialize(*args, **kwargs)
255
249
  super
256
250
  @next ||= TailSentinel.new(parent, prev_node: self)
257
251
  end
258
252
  end
259
253
 
260
254
  class TailSentinel < Sentinel
261
- def initialize(*args)
255
+ def initialize(*args, **kwargs)
262
256
  super
263
257
  prev.next = self if prev && prev.next != self
264
258
  end
@@ -32,7 +32,7 @@ module ActiveFedora
32
32
  # the index is out of range.
33
33
  def delete_at(loc)
34
34
  result = association.delete_at(loc)
35
- result.target if result
35
+ result&.target
36
36
  end
37
37
 
38
38
  # Deletes all items from self that are equal to obj.
@@ -10,7 +10,7 @@ module ActiveFedora
10
10
 
11
11
  def default_sort_params
12
12
  [ActiveFedora.index_field_mapper.solr_name('system_create', :stored_sortable, type: :date) +
13
- ' asc']
13
+ ' asc']
14
14
  end
15
15
  end
16
16
  end
@@ -26,6 +26,7 @@ module ActiveFedora::RDF
26
26
  subClassOf: "info:fedora/fedora-system:def/model#FedoraObject".freeze,
27
27
  type: "info:fedora/fedora-system:def/model#FedoraObject".freeze
28
28
  end
29
+
29
30
  class Model < ::RDF::StrictVocabulary("info:fedora/fedora-system:def/model#")
30
31
  # Class definitions
31
32
  term :FedoraObject,
@@ -176,6 +177,7 @@ module ActiveFedora::RDF
176
177
  range: "xsd:boolean".freeze,
177
178
  type: "rdf:Property".freeze
178
179
  end
180
+
179
181
  class RelsExt < ::RDF::StrictVocabulary("info:fedora/fedora-system:def/relations-external#")
180
182
  # Property definitions
181
183
  property :fedoraRelationship,
@@ -293,6 +295,7 @@ module ActiveFedora::RDF
293
295
  "owl:inverseOf" => %(info:fedora/fedora-system:def/relations-external#hasSubset).freeze,
294
296
  type: "rdf:Property".freeze
295
297
  end
298
+
296
299
  class View < ::RDF::StrictVocabulary("info:fedora/fedora-system:def/view#")
297
300
  property :disseminates,
298
301
  comment: %(A property used to indicate that an object contains a datastream).freeze,
@@ -35,7 +35,6 @@ module ActiveFedora::RDF
35
35
  @index_field_config = index_field_config
36
36
  @object = object
37
37
  @name = name
38
- self
39
38
  end
40
39
 
41
40
  def build
@@ -19,7 +19,7 @@ module ActiveFedora
19
19
 
20
20
  # Overrides ActiveTriples::Resource
21
21
  def persist!
22
- return false unless datastream && datastream.respond_to?(:save)
22
+ return false unless datastream&.respond_to?(:save)
23
23
  @persisted ||= datastream.save
24
24
  end
25
25
 
@@ -183,11 +183,8 @@ module ActiveFedora
183
183
  end
184
184
 
185
185
  def check_validity_of_inverse!
186
- unless polymorphic?
187
- if has_inverse? && inverse_of.nil?
188
- raise InverseOfAssociationNotFoundError, self
189
- end
190
- end
186
+ return if polymorphic?
187
+ raise InverseOfAssociationNotFoundError, self if has_inverse? && inverse_of.nil?
191
188
  end
192
189
 
193
190
  def alias_candidate(name)
@@ -214,6 +211,7 @@ module ActiveFedora
214
211
 
215
212
  attr_reader :active_fedora
216
213
 
214
+ # rubocop:disable Lint/MissingSuper
217
215
  def initialize(name, scope, options, active_fedora)
218
216
  @name = name
219
217
  @scope = scope
@@ -222,6 +220,7 @@ module ActiveFedora
222
220
  @klass = options[:anonymous_class]
223
221
  @automatic_inverse_of = nil
224
222
  end
223
+ # rubocop:enable Lint/MissingSuper
225
224
 
226
225
  def autosave=(autosave)
227
226
  @options[:autosave] = autosave
@@ -262,7 +261,7 @@ module ActiveFedora
262
261
 
263
262
  # Holds all the meta-data about an association as it was specified in the
264
263
  # Active Record class.
265
- class AssociationReflection < MacroReflection #:nodoc:
264
+ class AssociationReflection < MacroReflection # :nodoc:
266
265
  attr_accessor :parent_reflection # Reflection
267
266
 
268
267
  def initialize(name, scope, options, active_fedora)
@@ -295,9 +294,7 @@ module ActiveFedora
295
294
  end
296
295
 
297
296
  def solr_key
298
- @solr_key ||= begin
299
- ActiveFedora.index_field_mapper.solr_name(predicate_for_solr, :symbol)
300
- end
297
+ @solr_key ||= ActiveFedora.index_field_mapper.solr_name(predicate_for_solr, :symbol)
301
298
  end
302
299
 
303
300
  def check_validity!
@@ -314,7 +311,7 @@ module ActiveFedora
314
311
  def collect_join_chain
315
312
  [self]
316
313
  end
317
- alias chain collect_join_chain # TODO Remove alias, See https://github.com/samvera/active_fedora/issues/1347
314
+ alias chain collect_join_chain # TODO: Remove alias, See https://github.com/samvera/active_fedora/issues/1347
318
315
 
319
316
  def has_inverse?
320
317
  inverse_name
@@ -445,7 +442,7 @@ module ActiveFedora
445
442
  "#{name.to_s.singularize}_ids"
446
443
  elsif options[:as]
447
444
  "#{options[:as]}_id"
448
- elsif inverse_of && inverse_of.collection?
445
+ elsif inverse_of&.collection?
449
446
  # for a has_many that is the inverse of a has_and_belongs_to_many
450
447
  "#{options[:inverse_of].to_s.singularize}_ids"
451
448
  else
@@ -103,9 +103,7 @@ module ActiveFedora
103
103
  def search_by_id(id, opts = {})
104
104
  opts[:rows] = 1
105
105
  result = search_with_conditions({ id: id }, opts)
106
- if result.empty?
107
- raise ActiveFedora::ObjectNotFoundError, "Object '#{id}' not found in solr"
108
- end
106
+ raise ActiveFedora::ObjectNotFoundError, "Object '#{id}' not found in solr" if result.empty?
109
107
  result.first
110
108
  end
111
109
 
@@ -118,11 +116,9 @@ module ActiveFedora
118
116
  cast = opts.delete(:cast)
119
117
  search_in_batches(conditions, opts.merge(fl: ActiveFedora.id_field)) do |group|
120
118
  group.each do |hit|
121
- begin
122
- yield(load_from_fedora(hit[ActiveFedora.id_field], cast))
123
- rescue Ldp::Gone, ActiveFedora::ObjectNotFoundError
124
- 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."
125
- end
119
+ yield(load_from_fedora(hit[ActiveFedora.id_field], cast))
120
+ rescue Ldp::Gone, ActiveFedora::ObjectNotFoundError
121
+ 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."
126
122
  end
127
123
  end
128
124
  end
@@ -145,7 +141,7 @@ module ActiveFedora
145
141
  opts[:q] = create_query(conditions)
146
142
  opts[:qt] = @klass.solr_query_handler
147
143
  # set default sort to created date ascending
148
- opts[:sort] = @klass.default_sort_params unless opts[:sort].present?
144
+ opts[:sort] = @klass.default_sort_params if opts[:sort].blank?
149
145
 
150
146
  batch_size = opts.delete(:batch_size) || 1000
151
147
  select_path = ActiveFedora::SolrService.select_path
@@ -194,9 +190,7 @@ module ActiveFedora
194
190
  ActiveFedora::Base
195
191
  else
196
192
  resource_class = ActiveFedora.model_mapper.classifier(resource).best_model
197
- unless equivalent_class?(resource_class)
198
- raise ActiveFedora::ModelMismatch, "Expected #{@klass}. Got: #{resource_class}"
199
- end
193
+ raise ActiveFedora::ModelMismatch, "Expected #{@klass}. Got: #{resource_class}" unless equivalent_class?(resource_class)
200
194
  resource_class
201
195
  end
202
196
  end
@@ -3,7 +3,7 @@ require 'active_fedora/relation/merger'
3
3
  module ActiveFedora
4
4
  module SpawnMethods
5
5
  # This is overridden by Associations::CollectionProxy
6
- def spawn #:nodoc:
6
+ def spawn # :nodoc:
7
7
  clone
8
8
  end
9
9
 
@@ -1,9 +1,7 @@
1
- require 'active_support/per_thread_registry'
1
+ require 'active_support/core_ext/module/attribute_accessors_per_thread'
2
2
 
3
3
  module ActiveFedora
4
4
  class RuntimeRegistry
5
- extend ActiveSupport::PerThreadRegistry
6
-
7
- attr_accessor :solr_service, :fedora_connection
5
+ thread_mattr_accessor :solr_service, :fedora_connection
8
6
  end
9
7
  end
@@ -46,7 +46,7 @@ module ActiveFedora
46
46
  super || default_scopes.any? || respond_to?(:default_scope)
47
47
  end
48
48
 
49
- def before_remove_const #:nodoc:
49
+ def before_remove_const # :nodoc:
50
50
  self.current_scope = nil
51
51
  end
52
52
 
@@ -110,9 +110,7 @@ module ActiveFedora
110
110
  def build_default_scope(base_rel = nil) # :nodoc:
111
111
  return if abstract_class?
112
112
 
113
- if default_scope_override.nil?
114
- self.default_scope_override = !Base.is_a?(method(:default_scope).owner)
115
- end
113
+ self.default_scope_override = !Base.is_a?(method(:default_scope).owner) if default_scope_override.nil?
116
114
 
117
115
  if default_scope_override
118
116
  # The user has defined their own default scope method, so call that
@@ -138,9 +138,7 @@ module ActiveFedora
138
138
  # Article.published.featured.latest_article
139
139
  # Article.featured.titles
140
140
  def scope(name, body, &block)
141
- unless body.respond_to?(:call)
142
- raise ArgumentError, 'The scope body needs to be callable.'
143
- end
141
+ raise ArgumentError, 'The scope body needs to be callable.' unless body.respond_to?(:call)
144
142
 
145
143
  if dangerous_class_method?(name)
146
144
  raise ArgumentError, "You tried to define a scope named \"#{name}\" " \
@@ -10,11 +10,11 @@ module ActiveFedora
10
10
  end
11
11
 
12
12
  module ClassMethods
13
- def current_scope #:nodoc:
13
+ def current_scope # :nodoc:
14
14
  ScopeRegistry.value_for(:current_scope, self)
15
15
  end
16
16
 
17
- def current_scope=(scope) #:nodoc:
17
+ def current_scope=(scope) # :nodoc:
18
18
  ScopeRegistry.set_value_for(:current_scope, self, scope)
19
19
  end
20
20
 
@@ -1,4 +1,4 @@
1
- module ActiveFedora #:nodoc:
1
+ module ActiveFedora # :nodoc:
2
2
  # = Active Fedora Serialization
3
3
  module Serialization
4
4
  extend ActiveSupport::Concern
@@ -32,9 +32,7 @@ module ActiveFedora
32
32
  def instance
33
33
  # Register Solr
34
34
 
35
- unless ActiveFedora::RuntimeRegistry.solr_service
36
- register(ActiveFedora.solr_config)
37
- end
35
+ register(ActiveFedora.solr_config) unless ActiveFedora::RuntimeRegistry.solr_service
38
36
 
39
37
  ActiveFedora::RuntimeRegistry.solr_service
40
38
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveFedora
4
- VERSION = '13.3.0'
4
+ VERSION = '14.0.0'
5
5
  end
@@ -8,9 +8,9 @@ module ActiveFedora
8
8
 
9
9
  def model_type
10
10
  if respond_to?(:metadata)
11
- metadata.ldp_source.graph.query(predicate: ::RDF.type).objects
11
+ metadata.ldp_source.graph.query({ predicate: ::RDF.type }).objects
12
12
  else
13
- resource.query(subject: resource.rdf_subject, predicate: ::RDF.type).objects
13
+ resource.query({ subject: resource.rdf_subject, predicate: ::RDF.type }).objects
14
14
  end
15
15
  end
16
16
 
@@ -2,9 +2,7 @@ module ActiveFedora
2
2
  class VersionsGraph < ::RDF::Graph
3
3
  def all(opts = {})
4
4
  versions = fedora_versions
5
- unless opts[:include_auto_save]
6
- versions.reject! { |version| version.label =~ /auto/ }
7
- end
5
+ versions.reject! { |version| version.label =~ /auto/ } unless opts[:include_auto_save]
8
6
  versions.sort_by { |version| DateTime.parse(version.created) }
9
7
  rescue ArgumentError, NoMethodError
10
8
  raise ActiveFedora::VersionLacksCreateDate
@@ -21,7 +19,7 @@ module ActiveFedora
21
19
  end
22
20
 
23
21
  def resources
24
- query(predicate: ::RDF::Vocab::Fcrepo4.hasVersion)
22
+ query({ predicate: ::RDF::Vocab::Fcrepo4.hasVersion })
25
23
  end
26
24
 
27
25
  private
@@ -39,11 +37,11 @@ module ActiveFedora
39
37
  end
40
38
 
41
39
  def label_query(statement)
42
- query(subject: statement.object).query(predicate: ::RDF::Vocab::Fcrepo4.hasVersionLabel).first.object.to_s
40
+ query({ subject: statement.object }).query({ predicate: ::RDF::Vocab::Fcrepo4.hasVersionLabel }).first.object.to_s
43
41
  end
44
42
 
45
43
  def created_query(statement)
46
- query(subject: statement.object).query(predicate: ::RDF::Vocab::Fcrepo4.created).first.object.to_s
44
+ query({ subject: statement.object }).query({ predicate: ::RDF::Vocab::Fcrepo4.created }).first.object.to_s
47
45
  end
48
46
 
49
47
  def fedora_versions
@@ -71,7 +71,7 @@ module ActiveFedora
71
71
  end
72
72
 
73
73
  def server_managed_properties
74
- @server_managed_properties ||= properties.select { |k,v| v[:server_managed] }.keys.map(&:to_sym)
74
+ @server_managed_properties ||= properties.select { |_k, v| v[:server_managed] }.keys.map(&:to_sym)
75
75
  end
76
76
 
77
77
  class << self
@@ -22,7 +22,7 @@ module ActiveFedora
22
22
  return unless super && !new_record?
23
23
  # TODOs captured as https://github.com/samvera/active_fedora/issues/1331
24
24
  metadata_node.metadata_uri = described_by # TODO: only necessary if the URI was < > before
25
- metadata_node.save # TODO if changed?
25
+ metadata_node.save # TODO: if changed?
26
26
  end
27
27
 
28
28
  module ClassMethods
data/lib/active_fedora.rb CHANGED
@@ -25,7 +25,7 @@ module RDF
25
25
  @string ||= begin
26
26
  # Show nanoseconds but remove trailing zeros
27
27
  nano = @object.strftime('%N').sub(/0+\Z/, EMPTY)
28
- nano = DOT + nano unless nano.blank?
28
+ nano = DOT + nano if nano.present?
29
29
  @object.strftime(ALTERNATIVE_FORMAT) + nano + @object.strftime(TIMEZONE_FORMAT)
30
30
  end
31
31
  end
@@ -33,7 +33,7 @@ module RDF
33
33
  end
34
34
  end
35
35
 
36
- module ActiveFedora #:nodoc:
36
+ module ActiveFedora # :nodoc:
37
37
  extend ActiveSupport::Autoload
38
38
 
39
39
  eager_autoload do
@@ -156,7 +156,7 @@ module ActiveFedora #:nodoc:
156
156
  end
157
157
 
158
158
  class << self
159
- attr_reader :fedora_config, :solr_config, :config_options
159
+ attr_reader :solr_config, :config_options
160
160
  attr_accessor :configurator
161
161
 
162
162
  def fedora_config
@@ -174,9 +174,7 @@ module ActiveFedora #:nodoc:
174
174
  options = {} if options.nil?
175
175
  # For backwards compatibility, handle cases where config_path (a String) is passed in as the argument rather than a config_options hash
176
176
  # In all other cases, set config_path to config_options[:config_path], which is ok if it's nil
177
- if options.is_a? String
178
- raise ArgumentError, "Calling ActiveFedora.init with a path as an argument has been removed. Use ActiveFedora.init(:fedora_config_path=>#{options})"
179
- end
177
+ raise ArgumentError, "Calling ActiveFedora.init with a path as an argument has been removed. Use ActiveFedora.init(:fedora_config_path=>#{options})" if options.is_a? String
180
178
  @fedora_config = nil
181
179
  SolrService.reset!
182
180
  configurator.init(options)
@@ -199,7 +197,7 @@ module ActiveFedora #:nodoc:
199
197
  def environment
200
198
  if config_options.fetch(:environment, nil)
201
199
  config_options[:environment]
202
- elsif defined?(Rails.env) && !Rails.env.nil?
200
+ elsif defined?(Rails.env) && !Rails.env.nil? # rubocop:disable Rails/UnknownEnv
203
201
  Rails.env.to_s
204
202
  elsif defined?(ENV['environment']) && !ENV['environment'].nil?
205
203
  ENV['environment']
@@ -29,7 +29,9 @@
29
29
  affect both how text is indexed and queried.
30
30
  -->
31
31
  <luceneMatchVersion>5.0.0</luceneMatchVersion>
32
-
32
+
33
+ <lib dir="${solr.install.dir:../../../..}/modules/analysis-extras/lib" />
34
+ <lib dir="${solr.install.dir:../../../..}/modules/extraction/lib" regex=".*\.jar" />>
33
35
  <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lib" />
34
36
  <lib dir="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs" />
35
37
  <lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
@@ -14,12 +14,12 @@ namespace :active_fedora do
14
14
 
15
15
  YARD::Rake::YardocTask.new(:doc) do |yt|
16
16
  yt.files = Dir.glob(File.join(project_root, 'lib', '**', '*.rb')) +
17
- [ '-', File.join(project_root, 'README.md')]
17
+ ['-', File.join(project_root, 'README.md')]
18
18
  yt.options = ['--output-dir', doc_destination, '--readme', 'README.md']
19
19
  end
20
20
  rescue LoadError
21
21
  desc "Generate YARD Documentation"
22
- task :doc do
22
+ task doc: :environment do
23
23
  abort "Please install the YARD gem to generate rdoc."
24
24
  end
25
25
  end
@@ -42,7 +42,7 @@ namespace :active_fedora do
42
42
  end
43
43
 
44
44
  desc "CI build"
45
- task :ci do
45
+ task ci: :environment do
46
46
  Rake::Task['active_fedora:rubocop'].invoke unless ENV['NO_RUBOCOP']
47
47
  ENV['environment'] = "test"
48
48
  with_test_server do
@@ -51,7 +51,7 @@ namespace :active_fedora do
51
51
  end
52
52
 
53
53
  desc "Execute specs with coverage"
54
- task :coverage do
54
+ task coverage: :environment do
55
55
  # Put spec opts in a file named .rspec in root
56
56
  ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : "ruby"
57
57
  ENV['COVERAGE'] = 'true' unless ruby_engine == 'jruby'
@@ -59,7 +59,7 @@ namespace :active_fedora do
59
59
  end
60
60
 
61
61
  desc "Execute specs with coverage"
62
- task :spec do
62
+ task spec: :environment do
63
63
  with_test_server do
64
64
  Rake::Task["active_fedora:rspec"].invoke
65
65
  end