active-fedora 14.0.0 → 15.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c5ea2bfd359fe8ac2103cc2f22d4bfacb564a5a6fe0964d6586120dbba785035
4
- data.tar.gz: 64b28f342a53d4b2176ae4fbcdf502a7acd6e2f533bb68b71d2664e8fd95cf35
3
+ metadata.gz: 96ec1438ee021b6e4e9e83d706341dc8b790cf96972739027b0701c5711395dc
4
+ data.tar.gz: dfcc7435844c5b6b8b0018c38389762d0444bf05691ea301ef34004e2e7ae9cc
5
5
  SHA512:
6
- metadata.gz: 0dd1090c7c74aa2926172c858c32bc223120ffb29b75fa1b099f8a2f881e3cf4ca772c520b54241b6f72f5997aecb5149ce4a218339e8ce0d00ad4f3c42beec9
7
- data.tar.gz: bb97c2be3c9b48fc185a1ce528234e1b7d96a497fa957810fd7c4546f087d4b6a4df7c6626e1340f74d2e5bd856a777d759ce98ddbb2a6c59e666c2bb31d398e
6
+ metadata.gz: c2e89bf993cfa539e65beba6aa4862001b6b577e69f2fb27cb5f56e43e6d9a6558293ee8e0d5028c43029865070fc0856170b7a22457e9716187506fc7587584
7
+ data.tar.gz: 722ca493367d9d2eae6d2d45d5c37b10f38d56458c96c8c42a98b5dd1976d0e95e35b4d8ceec78c73d4a6ee8b674787458e1fb8f209b230cce14a7fa6802f285
data/.circleci/config.yml CHANGED
@@ -14,10 +14,39 @@ jobs:
14
14
  solr_config_path:
15
15
  type: string
16
16
  default: lib/generators/active_fedora/config/solr/templates/solr/conf
17
- executor:
18
- name: 'samvera/ruby_fcrepo_solr'
19
- ruby_version: << parameters.ruby_version >>
17
+ ruby_type:
18
+ type: string
19
+ default: 'ruby'
20
+ solr_port:
21
+ type: string
22
+ default: '8985'
23
+ fcrepo_version:
24
+ type: string
25
+ default: "4.7.5"
26
+ solr_version:
27
+ type: string
28
+ default: "9"
29
+ docker:
30
+ - image: cimg/<< parameters.ruby_type >>:<< parameters.ruby_version >>-browsers
31
+ - image: samvera/fcrepo4:<< parameters.fcrepo_version >>
32
+ environment:
33
+ CATALINA_OPTS: "-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
34
+ - image: zookeeper:3.9
35
+ environment:
36
+ ZOO_ADMINSERVER_ENABLED: false
37
+ - image: solr:<< parameters.solr_version >>
38
+ environment:
39
+ VERBOSE: yes
40
+ SECURITY_JSON: '{"authentication":{"blockUnknown": false, "class":"solr.BasicAuthPlugin", "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="}, "realm":"My Solr users", "forwardCredentials": false}, "authorization":{ "class":"solr.RuleBasedAuthorizationPlugin", "permissions":[{"name":"security-edit", "role":"admin"}], "user-role":{"solr":"admin"}}}'
41
+ command: sh -c "server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:2181 -cmd put /security.json \"${SECURITY_JSON}\" && solr-fg -cloud -noprompt -p << parameters.solr_port >> -z localhost:2181"
20
42
  environment:
43
+ BUNDLE_PATH: vendor/bundle
44
+ BUNDLE_JOBS: 4
45
+ BUNDLE_RETRY: 3
46
+ RAILS_ENV: test
47
+ RACK_ENV: test
48
+ FCREPO_TEST_PORT: 8080
49
+ SPEC_OPTS: --profile 10 --format RspecJunitFormatter --out /tmp/test-results/rspec.xml --format progress
21
50
  RAILS_VERSION: << parameters.rails_version >>
22
51
  steps:
23
52
  - samvera/cached_checkout
@@ -37,8 +66,13 @@ jobs:
37
66
  bundler_version: << parameters.bundler_version >>
38
67
  project: 'active-fedora'
39
68
 
40
- - samvera/install_solr_core:
41
- solr_config_path: << parameters.solr_config_path >>
69
+ - run:
70
+ name: Install solr core
71
+ command: |
72
+ cd << parameters.solr_config_path >>
73
+ zip -1 -r solr_conf.zip ./*
74
+ curl -H "Content-type:application/octet-stream" --data-binary @solr_conf.zip "http://solr:SolrRocks@127.0.0.1:8985/solr/admin/configs?action=UPLOAD&name=solrconfig"
75
+ curl "http://solr:SolrRocks@127.0.0.1:8985/solr/admin/collections?action=CREATE&name=hydra-test&numShards=1&collection.configName=solrconfig"
42
76
 
43
77
  - samvera/rubocop
44
78
 
@@ -47,71 +81,49 @@ jobs:
47
81
  workflows:
48
82
  ci:
49
83
  jobs:
84
+ # Ruby 3.3 releases
85
+ - bundle_lint_test:
86
+ name: ruby3-3_rails7-2
87
+ ruby_version: 3.3.4
88
+ rails_version: 7.2.0
89
+ - bundle_lint_test:
90
+ name: ruby3-3_rails7-1
91
+ ruby_version: 3.3.4
92
+ rails_version: 7.1.3.4
93
+ - bundle_lint_test:
94
+ name: ruby3-3_rails7-0
95
+ ruby_version: 3.3.4
96
+ rails_version: 7.0.8.4
97
+ - bundle_lint_test:
98
+ name: ruby3-3_rails6-1
99
+ ruby_version: 3.3.4
100
+ rails_version: 6.1.7.8
50
101
  # Ruby 3.2 releases
102
+ - bundle_lint_test:
103
+ name: ruby3-2_rails7-1
104
+ ruby_version: 3.2.5
105
+ rails_version: 7.1.3.4
51
106
  - bundle_lint_test:
52
107
  name: ruby3-2_rails7-0
53
- ruby_version: 3.2.0
54
- rails_version: 7.0.4.1
108
+ ruby_version: 3.2.5
109
+ rails_version: 7.0.8.4
55
110
  - bundle_lint_test:
56
111
  name: ruby3-2_rails6-1
57
- ruby_version: 3.2.0
58
- rails_version: 6.1.7.1
59
- - bundle_lint_test:
60
- name: ruby3-2_rails6-0
61
- ruby_version: 3.2.0
62
- rails_version: 6.0.6.1
112
+ ruby_version: 3.2.5
113
+ rails_version: 6.1.7.8
63
114
  # Ruby 3.1 releases
115
+ - bundle_lint_test:
116
+ name: ruby3-1_rails7-1
117
+ ruby_version: 3.1.6
118
+ rails_version: 7.1.3.4
64
119
  - bundle_lint_test:
65
120
  name: ruby3-1_rails7-0
66
- ruby_version: 3.1.3
67
- rails_version: 7.0.4.1
121
+ ruby_version: 3.1.6
122
+ rails_version: 7.0.8.4
68
123
  - bundle_lint_test:
69
124
  name: ruby3-1_rails6-1
70
- ruby_version: 3.1.3
71
- rails_version: 6.1.7.1
72
- - bundle_lint_test:
73
- name: ruby3-1_rails6-0
74
- ruby_version: 3.1.3
75
- rails_version: 6.0.6.1
76
- # Ruby 3.0 releases
77
- - bundle_lint_test:
78
- name: ruby3-0_rails7-0
79
- ruby_version: 3.0.5
80
- rails_version: 7.0.4.1
81
- - bundle_lint_test:
82
- name: ruby3-0_rails6-1
83
- ruby_version: 3.0.5
84
- rails_version: 6.1.7.1
85
- - bundle_lint_test:
86
- name: ruby3-0_rails6-0
87
- ruby_version: 3.0.5
88
- rails_version: 6.0.6.1
89
- # Ruby 2.7 releases
90
- - bundle_lint_test:
91
- name: ruby2-7_rails7-0
92
- ruby_version: 2.7.7
93
- rails_version: 7.0.4.1
94
- - bundle_lint_test:
95
- name: ruby2-7_rails6-1
96
- ruby_version: 2.7.7
97
- rails_version: 6.1.7.1
98
- - bundle_lint_test:
99
- name: ruby2-7_rails6-0
100
- ruby_version: 2.7.7
101
- rails_version: 6.0.6.1
102
- - bundle_lint_test:
103
- name: ruby2-7_rails5-2
104
- ruby_version: 2.7.7
105
- rails_version: 5.2.8.1
106
- # Ruby 2.6 releases
107
- - bundle_lint_test:
108
- name: ruby2-6_rails6-0
109
- ruby_version: 2.6.10
110
- rails_version: 6.0.6.1
111
- - bundle_lint_test:
112
- name: ruby2-6_rails5-2
113
- ruby_version: 2.6.10
114
- rails_version: 5.2.8.1
125
+ ruby_version: 3.1.6
126
+ rails_version: 6.1.7.8
115
127
 
116
128
  nightly:
117
129
  triggers:
@@ -122,68 +134,46 @@ workflows:
122
134
  only:
123
135
  - main
124
136
  jobs:
137
+ # Ruby 3.3 releases
138
+ - bundle_lint_test:
139
+ name: ruby3-3_rails7-2
140
+ ruby_version: 3.3.4
141
+ rails_version: 7.2.0
142
+ - bundle_lint_test:
143
+ name: ruby3-3_rails7-1
144
+ ruby_version: 3.3.4
145
+ rails_version: 7.1.3.4
146
+ - bundle_lint_test:
147
+ name: ruby3-3_rails7-0
148
+ ruby_version: 3.3.4
149
+ rails_version: 7.0.8.4
150
+ - bundle_lint_test:
151
+ name: ruby3-3_rails6-1
152
+ ruby_version: 3.3.4
153
+ rails_version: 6.1.7.8
125
154
  # Ruby 3.2 releases
155
+ - bundle_lint_test:
156
+ name: ruby3-2_rails7-1
157
+ ruby_version: 3.2.5
158
+ rails_version: 7.1.3.4
126
159
  - bundle_lint_test:
127
160
  name: ruby3-2_rails7-0
128
- ruby_version: 3.2.0
129
- rails_version: 7.0.4.1
161
+ ruby_version: 3.2.5
162
+ rails_version: 7.0.8.4
130
163
  - bundle_lint_test:
131
164
  name: ruby3-2_rails6-1
132
- ruby_version: 3.2.0
133
- rails_version: 6.1.7.1
134
- - bundle_lint_test:
135
- name: ruby3-2_rails6-0
136
- ruby_version: 3.2.0
137
- rails_version: 6.0.6.1
165
+ ruby_version: 3.2.5
166
+ rails_version: 6.1.7.8
138
167
  # Ruby 3.1 releases
168
+ - bundle_lint_test:
169
+ name: ruby3-1_rails7-1
170
+ ruby_version: 3.1.6
171
+ rails_version: 7.1.3.4
139
172
  - bundle_lint_test:
140
173
  name: ruby3-1_rails7-0
141
- ruby_version: 3.1.3
142
- rails_version: 7.0.4.1
174
+ ruby_version: 3.1.6
175
+ rails_version: 7.0.8.4
143
176
  - bundle_lint_test:
144
177
  name: ruby3-1_rails6-1
145
- ruby_version: 3.1.3
146
- rails_version: 6.1.7.1
147
- - bundle_lint_test:
148
- name: ruby3-1_rails6-0
149
- ruby_version: 3.1.3
150
- rails_version: 6.0.6.1
151
- # Ruby 3.0 releases
152
- - bundle_lint_test:
153
- name: ruby3-0_rails7-0
154
- ruby_version: 3.0.5
155
- rails_version: 7.0.4.1
156
- - bundle_lint_test:
157
- name: ruby3-0_rails6-1
158
- ruby_version: 3.0.5
159
- rails_version: 6.1.7.1
160
- - bundle_lint_test:
161
- name: ruby3-0_rails6-0
162
- ruby_version: 3.0.5
163
- rails_version: 6.0.6.1
164
- # Ruby 2.7 releases
165
- - bundle_lint_test:
166
- name: ruby2-7_rails7-0
167
- ruby_version: 2.7.7
168
- rails_version: 7.0.4.1
169
- - bundle_lint_test:
170
- name: ruby2-7_rails6-1
171
- ruby_version: 2.7.7
172
- rails_version: 6.1.7.1
173
- - bundle_lint_test:
174
- name: ruby2-7_rails6-0
175
- ruby_version: 2.7.7
176
- rails_version: 6.0.6.1
177
- - bundle_lint_test:
178
- name: ruby2-7_rails5-2
179
- ruby_version: 2.7.7
180
- rails_version: 5.2.8.1
181
- # Ruby 2.6 releases
182
- - bundle_lint_test:
183
- name: ruby2-6_rails6-0
184
- ruby_version: 2.6.10
185
- rails_version: 6.0.6.1
186
- - bundle_lint_test:
187
- name: ruby2-6_rails5-2
188
- ruby_version: 2.6.10
189
- rails_version: 5.2.8.1
178
+ ruby_version: 3.1.6
179
+ rails_version: 6.1.7.8
@@ -16,13 +16,14 @@ Gem::Specification.new do |s|
16
16
  s.metadata = { "rubygems_mfa_required" => "true" }
17
17
  s.required_ruby_version = '>= 2.6'
18
18
 
19
- s.add_dependency "activemodel", '>= 5.1'
20
- s.add_dependency "activesupport", '>= 5.1'
19
+ s.add_dependency "activemodel", '>= 6.1'
20
+ s.add_dependency "activesupport", '>= 6.1'
21
21
  s.add_dependency "active-triples", '>= 0.11.0', '< 2.0.0'
22
22
  s.add_dependency "deprecation"
23
- s.add_dependency 'faraday', '~> 1.0'
23
+ s.add_dependency 'faraday', '>= 1.0'
24
24
  s.add_dependency 'faraday-encoding', '>= 0.0.5'
25
25
  s.add_dependency "ldp", '>= 0.7.0', '< 2'
26
+ s.add_dependency "mutex_m"
26
27
  s.add_dependency 'rsolr', '>= 1.1.2', '< 3'
27
28
  s.add_dependency "ruby-progressbar", '~> 1.0'
28
29
 
@@ -4,23 +4,25 @@ module ActiveFedora
4
4
  module ClassMethods
5
5
  protected
6
6
 
7
- def define_method_attribute(name, owner: nil) # rubocop:disable Lint/UnusedMethodArgument
8
- name = name.to_s
9
- safe_name = name.unpack('h*'.freeze).first
10
- temp_method = "__temp__#{safe_name}"
11
-
12
- ActiveFedora::AttributeMethods::AttrNames.set_name_cache safe_name, name
13
-
14
- generated_attribute_methods.module_eval <<-STR, __FILE__, __LINE__ + 1
15
- def #{temp_method}
16
- name = ::ActiveRecord::AttributeMethods::AttrNames::ATTR_#{safe_name}
17
- _read_attribute(name) { |n| missing_attribute(n, caller) }
7
+ def define_method_attribute(canonical_name, owner: nil, as: canonical_name)
8
+ ActiveModel::AttributeMethods::AttrNames.define_attribute_accessor_method(
9
+ owner, canonical_name
10
+ ) do |temp_method_name, attr_name_expr|
11
+ # rubocop:disable Style/LineEndConcatenation
12
+ if ActiveModel.version >= Gem::Version.new('7.0.0')
13
+ owner.define_cached_method(temp_method_name, as: as, namespace: :active_fedora) do |batch|
14
+ batch <<
15
+ "def #{temp_method_name}" <<
16
+ " _read_attribute(#{attr_name_expr}) { |n| missing_attribute(n, caller) }" <<
17
+ "end"
18
+ end
19
+ else
20
+ owner <<
21
+ "def #{temp_method_name}" <<
22
+ " _read_attribute(#{attr_name_expr}) { |n| missing_attribute(n, caller) }" <<
23
+ "end"
18
24
  end
19
- STR
20
-
21
- generated_attribute_methods.module_eval do
22
- alias_method name, temp_method
23
- undef_method temp_method
25
+ # rubocop:enable Style/LineEndConcatenation
24
26
  end
25
27
  end
26
28
  end
@@ -4,19 +4,26 @@ module ActiveFedora
4
4
  module ClassMethods
5
5
  protected
6
6
 
7
- def define_method_attribute=(name, owner: nil) # rubocop:disable Lint/UnusedMethodArgument
8
- name = name.to_s
9
- safe_name = name.unpack('h*'.freeze).first
10
- ActiveFedora::AttributeMethods::AttrNames.set_name_cache safe_name, name
11
-
12
- generated_attribute_methods.module_eval <<-STR, __FILE__, __LINE__ + 1
13
- def __temp__#{safe_name}=(value)
14
- name = ::ActiveRecord::AttributeMethods::AttrNames::ATTR_#{safe_name}
15
- write_attribute(name, value)
7
+ def define_method_attribute=(canonical_name, owner: nil, as: canonical_name)
8
+ ActiveModel::AttributeMethods::AttrNames.define_attribute_accessor_method(
9
+ owner, canonical_name, writer: true
10
+ ) do |temp_method_name, attr_name_expr|
11
+ # rubocop:disable Style/LineEndConcatenation
12
+ if ActiveModel.version >= Gem::Version.new('7.0.0')
13
+ owner.define_cached_method(temp_method_name, as: "#{as}=", namespace: :active_fedora) do |batch|
14
+ batch <<
15
+ "def #{temp_method_name}(value)" <<
16
+ " write_attribute(#{attr_name_expr}, value)" <<
17
+ "end"
18
+ end
19
+ else
20
+ owner <<
21
+ "def #{temp_method_name}(value)" <<
22
+ " write_attribute(#{attr_name_expr}, value)" <<
23
+ "end"
16
24
  end
17
- alias_method #{(name + '=').inspect}, :__temp__#{safe_name}=
18
- undef_method :__temp__#{safe_name}=
19
- STR
25
+ # rubocop:enable Style/LineEndConcatenation
26
+ end
20
27
  end
21
28
  end
22
29
 
@@ -1,5 +1,6 @@
1
1
  require 'active_support/core_ext/object'
2
2
  require 'active_support/core_ext/class/attribute'
3
+ require 'mutex_m'
3
4
 
4
5
  module ActiveFedora
5
6
  module AttributeMethods
@@ -13,7 +14,7 @@ module ActiveFedora
13
14
  end
14
15
  end
15
16
 
16
- BLACKLISTED_CLASS_METHODS = %w[private public protected allocate new name parent superclass].freeze
17
+ RESTRICTED_CLASS_METHODS = %w[private public protected allocate new name parent superclass].freeze
17
18
 
18
19
  class GeneratedAttributeMethods < Module; end # :nodoc:
19
20
 
@@ -80,7 +81,7 @@ module ActiveFedora
80
81
  # A class method is 'dangerous' if it is already (re)defined by Active Record, but
81
82
  # not by any ancestors. (So 'puts' is not dangerous but 'new' is.)
82
83
  def dangerous_class_method?(method_name)
83
- BLACKLISTED_CLASS_METHODS.include?(method_name.to_s) || class_method_defined_within?(method_name, Base)
84
+ RESTRICTED_CLASS_METHODS.include?(method_name.to_s) || class_method_defined_within?(method_name, Base)
84
85
  end
85
86
 
86
87
  def class_method_defined_within?(name, klass, superklass = klass.superclass) # :nodoc:
@@ -243,10 +243,9 @@ module ActiveFedora
243
243
 
244
244
  unless valid = record.valid?
245
245
  if reflection.options[:autosave]
246
- record.errors.each do |attribute, message|
246
+ record.errors.messages.each do |attribute, messages|
247
247
  attribute = "#{reflection.name}.#{attribute}"
248
- errors[attribute] << message
249
- errors[attribute].uniq!
248
+ messages.map { |message| errors.add(attribute, message: message) }
250
249
  end
251
250
  else
252
251
  errors.add(reflection.name)
@@ -92,7 +92,11 @@ module ActiveFedora
92
92
  Faraday.new(host, options) do |conn|
93
93
  conn.response :encoding # use Faraday::Encoding middleware
94
94
  conn.adapter Faraday.default_adapter # net/http
95
- conn.request :basic_auth, user, password
95
+ if Gem::Version.new(Faraday::VERSION) < Gem::Version.new('2')
96
+ conn.request :basic_auth, user, password
97
+ else
98
+ conn.request :authorization, :basic, user, password
99
+ end
96
100
  end
97
101
  end
98
102
 
@@ -5,6 +5,7 @@ module ActiveFedora
5
5
  @odd = false
6
6
  end
7
7
 
8
+ # rubocop:disable Style/IfInsideElse
8
9
  def ldp(event)
9
10
  return unless logger.debug?
10
11
 
@@ -13,15 +14,25 @@ module ActiveFedora
13
14
  name = "#{payload[:name]} (#{event.duration.round(1)}ms)"
14
15
  id = payload[:id] || "[no id]"
15
16
 
16
- if odd?
17
- name = color(name, CYAN, true)
18
- id = color(id, nil, true)
17
+ if ActiveSupport.version >= Gem::Version.new('7.1.0')
18
+ if odd?
19
+ name = color(name, CYAN, bold: true)
20
+ id = color(id, nil, bold: true)
21
+ else
22
+ name = color(name, MAGENTA, bold: true)
23
+ end
19
24
  else
20
- name = color(name, MAGENTA, true)
25
+ if odd?
26
+ name = color(name, CYAN, true)
27
+ id = color(id, nil, true)
28
+ else
29
+ name = color(name, MAGENTA, true)
30
+ end
21
31
  end
22
32
 
23
33
  debug " #{name} #{id} Service: #{payload[:ldp_service]}"
24
34
  end
35
+ # rubocop:enable Style/IfInsideElse
25
36
 
26
37
  def odd?
27
38
  @odd = !@odd
@@ -7,32 +7,7 @@ module ActiveFedora
7
7
  # may vary depending on the klass of a relation, so we create a subclass of Relation
8
8
  # for each different klass, and the delegations are compiled into that subclass only.
9
9
 
10
- BLACKLISTED_ARRAY_METHODS = [
11
- :compact!, :flatten!, :reject!, :reverse!, :rotate!, :map!,
12
- :shuffle!, :slice!, :sort!, :sort_by!, :delete_if,
13
- :keep_if, :pop, :shift, :delete_at, :select!
14
- ].to_set
15
-
16
- delegate :length, :map, :to_ary, to: :to_a
10
+ delegate :length, :map, :to_ary, :[], :&, :|, :+, :-, :sample, :reverse, :rotate, :compact, :shuffle, :slice, :index, :rindex, :size, to: :to_a
17
11
  delegate :any?, :all?, :collect, :include?, to: :each
18
-
19
- protected
20
-
21
- def array_delegable?(method)
22
- Array.method_defined?(method) && BLACKLISTED_ARRAY_METHODS.exclude?(method)
23
- end
24
-
25
- def method_missing(method, *args, &block)
26
- if array_delegable?(method)
27
- self.class.delegate method, to: :to_a
28
- to_a.public_send(method, *args, &block)
29
- else
30
- super
31
- end
32
- end
33
-
34
- def respond_to_missing?(method, *args)
35
- array_delegable?(method) || super
36
- end
37
12
  end
38
13
  end
@@ -1,4 +1,4 @@
1
- require 'active_support/per_thread_registry'
1
+ require 'active_support/core_ext/module'
2
2
 
3
3
  module ActiveFedora
4
4
  module Scoping
@@ -66,37 +66,35 @@ module ActiveFedora
66
66
  # ActiveFedora::Scoping::ScopeRegistry.set_value_for(:current_scope,
67
67
  # Board, some_new_scope)
68
68
  class ScopeRegistry # :nodoc:
69
- extend ActiveSupport::PerThreadRegistry
70
-
71
69
  VALID_SCOPE_TYPES = [:current_scope, :ignore_default_scope].freeze
72
70
 
73
- def initialize
74
- @registry = Hash.new { |hash, key| hash[key] = {} }
71
+ thread_mattr_accessor :_registry
72
+ def self.registry
73
+ self._registry ||= Hash.new { |hash, key| hash[key] = {} }
75
74
  end
76
75
 
77
76
  # Obtains the value for a given +scope_type+ and +model+.
78
- def value_for(scope_type, model)
77
+ def self.value_for(scope_type, model)
79
78
  raise_invalid_scope_type!(scope_type)
80
79
  klass = model
81
80
  base = model.base_class
82
81
  while klass <= base
83
- value = @registry[scope_type][klass.name]
82
+ value = registry[scope_type][klass.name]
84
83
  return value if value
85
84
  klass = klass.superclass
86
85
  end
87
86
  end
88
87
 
89
88
  # Sets the +value+ for a given +scope_type+ and +model+.
90
- def set_value_for(scope_type, model, value)
89
+ def self.set_value_for(scope_type, model, value)
91
90
  raise_invalid_scope_type!(scope_type)
92
- @registry[scope_type][model.name] = value
91
+ registry[scope_type][model.name] = value
93
92
  end
94
93
 
95
- private
96
-
97
- def raise_invalid_scope_type!(scope_type)
98
- raise ArgumentError, "Invalid scope type '#{scope_type}' sent to the registry. Scope types must be included in VALID_SCOPE_TYPES" unless VALID_SCOPE_TYPES.include?(scope_type)
99
- end
94
+ # @api private
95
+ def self.raise_invalid_scope_type!(scope_type)
96
+ raise ArgumentError, "Invalid scope type '#{scope_type}' sent to the registry. Scope types must be included in VALID_SCOPE_TYPES" unless VALID_SCOPE_TYPES.include?(scope_type)
97
+ end
100
98
  end
101
99
  end
102
100
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveFedora
4
- VERSION = '14.0.0'
4
+ VERSION = '15.0.0'
5
5
  end
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: 14.0.0
4
+ version: 15.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Zumwalt
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-01-27 00:00:00.000000000 Z
13
+ date: 2024-09-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activemodel
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '5.1'
21
+ version: '6.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: '5.1'
28
+ version: '6.1'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: activesupport
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: '5.1'
35
+ version: '6.1'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: '5.1'
42
+ version: '6.1'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: active-triples
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -78,14 +78,14 @@ dependencies:
78
78
  name: faraday
79
79
  requirement: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - "~>"
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: '1.0'
84
84
  type: :runtime
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - "~>"
88
+ - - ">="
89
89
  - !ruby/object:Gem::Version
90
90
  version: '1.0'
91
91
  - !ruby/object:Gem::Dependency
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - "<"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '2'
125
+ - !ruby/object:Gem::Dependency
126
+ name: mutex_m
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: rsolr
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -591,7 +605,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
591
605
  - !ruby/object:Gem::Version
592
606
  version: '0'
593
607
  requirements: []
594
- rubygems_version: 3.3.26
608
+ rubygems_version: 3.4.10
595
609
  signing_key:
596
610
  specification_version: 4
597
611
  summary: A convenience libary for manipulating documents in the Fedora Repository.