valkyrie 3.3.0 → 3.4.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: 3bd57af32d07a78e2ac9a9a1c6217b8b601018413c1a08a67762565f92da91cd
4
- data.tar.gz: 58e0073f9ef70694e77d016cf08869d90b920f2fca3a7c42e7141289a8b7121d
3
+ metadata.gz: a4fcef8213a3e959929dbdb15bffd20c70bf3a5a07ff977a4937271d137d51a7
4
+ data.tar.gz: 875ced504589316a4d837fbd4d2d8bfe2e590d0e5f5f3c792edefe1461575a25
5
5
  SHA512:
6
- metadata.gz: 939dbb151e2cb770e9bfbac0cedbfc78a160ace0f3f1c482560659f1a6cd16ad0984ae1eb15caf49d4ef5926f3a01721e032f7c8363ea815e935064eb547f7c0
7
- data.tar.gz: d2b295e1881cc0d8d45e1c69e6255fab7b5be4d3e277d3e01eaa53498ca7346131ac1c2180d73f675c93b9b4a03d73316b9f6a8256b6b40a7492dda8c088d16a
6
+ metadata.gz: 98945b1fdd7f8cce636eea9abf5fc44c05d8291d1955b22ff91e218e12b81f4b3b617f52d0c846b179e040f623665a62027c60de2b50c50d7b027a7008d78e12
7
+ data.tar.gz: 844db5f6507ff3678ffe3c253a29dedd7753d26da6495ffcf51e2a275e6175fc9a904361a5724ec385330366eb84eaf13acf66db014bc783201e2e06e11168fb
data/.circleci/config.yml CHANGED
@@ -9,7 +9,7 @@ jobs:
9
9
  type: "string"
10
10
  ruby:
11
11
  description: "Ruby version"
12
- default: "2.7.7"
12
+ default: "3.1.6"
13
13
  type: "string"
14
14
  docker:
15
15
  - image: cimg/ruby:<< parameters.ruby >>
@@ -96,57 +96,45 @@ workflows:
96
96
  build:
97
97
  jobs:
98
98
  - build:
99
- gemfile: "gemfiles/activerecord_7_0.gemfile"
100
- ruby: 3.2.0
101
- name: "Ruby3-2_rails7-0"
99
+ gemfile: "gemfiles/activerecord_7_2.gemfile"
100
+ ruby: 3.3.5
101
+ name: "Ruby3-3_rails7-2"
102
102
  - build:
103
- gemfile: "gemfiles/activerecord_6_0.gemfile"
104
- ruby: 3.2.0
105
- name: "Ruby3-2_Rails6-0"
103
+ gemfile: "gemfiles/activerecord_7_1.gemfile"
104
+ ruby: 3.3.5
105
+ name: "Ruby3-3_rails7-1"
106
106
  - build:
107
107
  gemfile: "gemfiles/activerecord_7_0.gemfile"
108
- ruby: 3.1.3
109
- name: "Ruby3-1_rails7-0"
108
+ ruby: 3.3.5
109
+ name: "Ruby3-3_rails7-0"
110
110
  - build:
111
- gemfile: "gemfiles/activerecord_6_0.gemfile"
112
- ruby: 3.1.3
113
- name: "Ruby3-1_Rails6-0"
111
+ gemfile: "gemfiles/activerecord_7_2.gemfile"
112
+ ruby: 3.2.5
113
+ name: "Ruby3-2_rails7-2"
114
+ - build:
115
+ gemfile: "gemfiles/activerecord_7_1.gemfile"
116
+ ruby: 3.2.5
117
+ name: "Ruby3-2_rails7-1"
114
118
  - build:
115
119
  gemfile: "gemfiles/activerecord_7_0.gemfile"
116
- ruby: 3.0.5
117
- name: "Ruby3-0_rails7-0"
120
+ ruby: 3.2.5
121
+ name: "Ruby3-2_rails7-0"
118
122
  - build:
119
- gemfile: "gemfiles/activerecord_6_0.gemfile"
120
- ruby: 3.0.5
121
- name: "Ruby3-0_Rails6-0"
123
+ gemfile: "gemfiles/activerecord_7_2.gemfile"
124
+ ruby: 3.1.6
125
+ name: "Ruby3-1_rails7-2"
122
126
  - build:
123
- gemfile: "gemfiles/activerecord_7_0.gemfile"
124
- ruby: 2.7.7
125
- name: "Ruby2-7_rails7-0"
127
+ gemfile: "gemfiles/activerecord_7_1.gemfile"
128
+ ruby: 3.1.6
129
+ name: "Ruby3-1_rails7-1"
126
130
  - build:
127
- gemfile: "gemfiles/activerecord_6_0.gemfile"
128
- ruby: 2.7.7
129
- name: "Ruby2-7_Rails6-0"
131
+ gemfile: "gemfiles/activerecord_7_0.gemfile"
132
+ ruby: 3.1.6
133
+ name: "Ruby3-1_rails7-0"
130
134
  - build:
131
135
  gemfile: "gemfiles/faraday_1.gemfile"
132
- ruby: 2.7.7
136
+ ruby: 3.1.6
133
137
  name: "Faraday1"
134
- - build:
135
- gemfile: "gemfiles/faraday_0.gemfile"
136
- ruby: 2.7.7
137
- name: "Faraday0"
138
- - build:
139
- gemfile: "gemfiles/activerecord_6_0.gemfile"
140
- ruby: 2.6.10
141
- name: "Ruby2-6_Rails6-0"
142
- - build:
143
- gemfile: "gemfiles/activerecord_5_2.gemfile"
144
- ruby: 2.7.7
145
- name: "Ruby2-7_Rails5-2"
146
- - build:
147
- gemfile: "gemfiles/activerecord_5_2.gemfile"
148
- ruby: 2.6.10
149
- name: "Ruby2-6_Rails5-2"
150
138
 
151
139
  nightly:
152
140
  triggers:
@@ -158,54 +146,42 @@ workflows:
158
146
  - master
159
147
  jobs:
160
148
  - build:
161
- gemfile: "gemfiles/activerecord_7_0.gemfile"
162
- ruby: 3.2.0
163
- name: "Ruby3-2_rails7-0"
149
+ gemfile: "gemfiles/activerecord_7_2.gemfile"
150
+ ruby: 3.3.5
151
+ name: "Ruby3-3_rails7-2"
164
152
  - build:
165
- gemfile: "gemfiles/activerecord_6_0.gemfile"
166
- ruby: 3.2.0
167
- name: "Ruby3-2_Rails6-0"
153
+ gemfile: "gemfiles/activerecord_7_1.gemfile"
154
+ ruby: 3.3.5
155
+ name: "Ruby3-3_rails7-1"
168
156
  - build:
169
157
  gemfile: "gemfiles/activerecord_7_0.gemfile"
170
- ruby: 3.1.3
171
- name: "Ruby3-1_rails7-0"
158
+ ruby: 3.3.5
159
+ name: "Ruby3-3_rails7-0"
172
160
  - build:
173
- gemfile: "gemfiles/activerecord_6_0.gemfile"
174
- ruby: 3.1.3
175
- name: "Ruby3-1_Rails6-0"
161
+ gemfile: "gemfiles/activerecord_7_2.gemfile"
162
+ ruby: 3.2.5
163
+ name: "Ruby3-2_rails7-2"
164
+ - build:
165
+ gemfile: "gemfiles/activerecord_7_1.gemfile"
166
+ ruby: 3.2.5
167
+ name: "Ruby3-2_rails7-1"
176
168
  - build:
177
169
  gemfile: "gemfiles/activerecord_7_0.gemfile"
178
- ruby: 3.0.5
179
- name: "Ruby3-0_rails7-0"
170
+ ruby: 3.2.5
171
+ name: "Ruby3-2_rails7-0"
180
172
  - build:
181
- gemfile: "gemfiles/activerecord_6_0.gemfile"
182
- ruby: 3.0.5
183
- name: "Ruby3-0_Rails6-0"
173
+ gemfile: "gemfiles/activerecord_7_2.gemfile"
174
+ ruby: 3.1.6
175
+ name: "Ruby3-1_rails7-2"
184
176
  - build:
185
- gemfile: "gemfiles/activerecord_7_0.gemfile"
186
- ruby: 2.7.7
187
- name: "Ruby2-7_rails7-0"
177
+ gemfile: "gemfiles/activerecord_7_1.gemfile"
178
+ ruby: 3.1.6
179
+ name: "Ruby3-1_rails7-1"
188
180
  - build:
189
- gemfile: "gemfiles/activerecord_6_0.gemfile"
190
- ruby: 2.7.7
191
- name: "Ruby2-7_Rails6-0"
181
+ gemfile: "gemfiles/activerecord_7_0.gemfile"
182
+ ruby: 3.1.6
183
+ name: "Ruby3-1_rails7-0"
192
184
  - build:
193
185
  gemfile: "gemfiles/faraday_1.gemfile"
194
- ruby: 2.7.7
186
+ ruby: 3.1.6
195
187
  name: "Faraday1"
196
- - build:
197
- gemfile: "gemfiles/faraday_0.gemfile"
198
- ruby: 2.7.7
199
- name: "Faraday0"
200
- - build:
201
- gemfile: "gemfiles/activerecord_6_0.gemfile"
202
- ruby: 2.6.10
203
- name: "Ruby2-6_Rails6-0"
204
- - build:
205
- gemfile: "gemfiles/activerecord_5_2.gemfile"
206
- ruby: 2.7.7
207
- name: "Ruby2-7_Rails5-2"
208
- - build:
209
- gemfile: "gemfiles/activerecord_5_2.gemfile"
210
- ruby: 2.6.10
211
- name: "Ruby2-6_Rails5-2"
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 2.7.5
1
+ ruby 3.3.5
data/Appraisals CHANGED
@@ -1,23 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- appraise "activerecord-7-0" do
4
- gem "activerecord", "~> 7.0.0"
5
- end
6
-
7
- appraise "activerecord-6-0" do
8
- gem "activerecord", "~> 6.0.0"
3
+ appraise "activerecord-7-2" do
4
+ gem "activerecord", "~> 7.2.0"
9
5
  end
10
6
 
11
- appraise "activerecord-5-2" do
12
- gem "activerecord", "~> 5.2.0"
7
+ appraise "activerecord-7-1" do
8
+ gem "activerecord", "~> 7.1.0"
13
9
  end
14
10
 
15
- appraise "faraday-0" do
16
- gem "faraday", "< 1"
17
- gem "activerecord", "~> 6.0.0"
11
+ appraise "activerecord-7-0" do
12
+ gem "activerecord", "~> 7.0.0"
18
13
  end
19
14
 
20
15
  appraise "faraday-1" do
21
16
  gem "faraday", "~> 1.0"
22
- gem "activerecord", "~> 6.0.0"
17
+ gem "activerecord", "~> 7.0.0"
23
18
  end
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ # v3.4.0 2024-10-11
2
+
3
+ ## Changes since last release
4
+
5
+ * Adds config setting index_tsim_only_threshold ([dchandekstark](https://github.com/dchandekstark))
6
+ * Fix related URIs for pairtree paths in Fedora. ([randalldfloyd](https://github.com/randalldfloyd))
7
+ * Return nil when #id_to_uri is passed empty strings. ([bwatson78](https://github.com/bwatson78))
8
+ * Add support for Ruby 3.3 and Rails 7.2 ([cjcolvar](https://github.com/cjcolvar))
9
+
1
10
  # v3.3.0 2024-07-03
2
11
 
3
12
  ## Changes since last release
data/Rakefile CHANGED
@@ -68,10 +68,14 @@ namespace :db do
68
68
  ActiveRecord::Migrator.migrate(MIGRATIONS_DIR, version) do |migration|
69
69
  scope.blank? || scope == migration.scope
70
70
  end
71
- else
71
+ elsif ActiveRecord.version < Gem::Version.new("7.2.0")
72
72
  ActiveRecord::Base.connection.migration_context.migrate(version) do |migration|
73
73
  scope.blank? || scope == migration.scope
74
74
  end
75
+ else
76
+ ActiveRecord::MigrationContext.new(ActiveRecord::Migrator.migrations_paths).migrate(version) do |migration|
77
+ scope.blank? || scope == migration.scope
78
+ end
75
79
  end
76
80
  ActiveRecord::Base.clear_cache!
77
81
  ensure
@@ -3,7 +3,7 @@
3
3
 
4
4
  source "https://rubygems.org"
5
5
 
6
- gem "activerecord", "~> 5.2.0"
6
+ gem "activerecord", "~> 7.1.0"
7
7
  gem "ldp"
8
8
  gem "pg"
9
9
  gem "rsolr"
@@ -3,7 +3,7 @@
3
3
 
4
4
  source "https://rubygems.org"
5
5
 
6
- gem "activerecord", "~> 6.0.0"
6
+ gem "activerecord", "~> 7.2.0"
7
7
  gem "ldp"
8
8
  gem "pg"
9
9
  gem "rsolr"
@@ -3,7 +3,7 @@
3
3
 
4
4
  source "https://rubygems.org"
5
5
 
6
- gem "activerecord", "~> 6.0.0"
6
+ gem "activerecord", "~> 7.0.0"
7
7
  gem "ldp"
8
8
  gem "pg"
9
9
  gem "rsolr"
@@ -64,6 +64,7 @@ module Valkyrie::Persistence::Fedora
64
64
  # @param [RDF::URI] id the Valkyrie ID
65
65
  # @return [RDF::URI]
66
66
  def id_to_uri(id)
67
+ return if id.to_s.empty?
67
68
  prefix = ""
68
69
  prefix = "#{pair_path(id)}/" if fedora_version == 4 || (fedora_version >= 6.5 && (pairtree_count * pairtree_length).positive?)
69
70
  RDF::URI("#{connection_prefix}/#{prefix}#{CGI.escape(id.to_s)}")
@@ -52,7 +52,7 @@ module Valkyrie::Persistence::Fedora
52
52
  # @return [Array<RDF::URI>]
53
53
  def include_uris
54
54
  [
55
- [5, 6].include?(adapter.fedora_version) ? "http://fedora.info/definitions/fcrepo#PreferInboundReferences" : ::RDF::Vocab::Fcrepo4.InboundReferences
55
+ adapter.fedora_version >= 5 ? "http://fedora.info/definitions/fcrepo#PreferInboundReferences" : ::RDF::Vocab::Fcrepo4.InboundReferences
56
56
  ]
57
57
  end
58
58
 
@@ -422,7 +422,7 @@ module Valkyrie::Persistence::Solr
422
422
  # @see https://github.com/samvera-labs/valkyrie/blob/main/solr/config/schema.xml
423
423
  # @return [Array<Symbol>]
424
424
  def fields
425
- if value.value.length > 1000
425
+ if value.value.length > Valkyrie.config.index_tsim_only_threshold
426
426
  [:tsim]
427
427
  else
428
428
  [:tsim, :ssim, :tesim, :tsi, :ssi, :tesi]
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Valkyrie
3
- VERSION = "3.3.0"
3
+ VERSION = "3.4.0"
4
4
  end
data/lib/valkyrie.rb CHANGED
@@ -97,6 +97,10 @@ module Valkyrie
97
97
  Valkyrie::StorageAdapter.find(self[:storage_adapter].to_sym)
98
98
  end
99
99
 
100
+ def index_tsim_only_threshold
101
+ self[:index_tsim_only_threshold].to_i
102
+ end
103
+
100
104
  # @api public
101
105
  #
102
106
  # The returned anonymous method (e.g. responds to #call) has a signature of
@@ -118,7 +122,8 @@ module Valkyrie
118
122
 
119
123
  def defaults
120
124
  {
121
- resource_class_resolver: method(:default_resource_class_resolver)
125
+ resource_class_resolver: method(:default_resource_class_resolver),
126
+ index_tsim_only_threshold: 1000
122
127
  }
123
128
  end
124
129
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: valkyrie
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Trey Pendragon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-08 00:00:00.000000000 Z
11
+ date: 2024-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-struct
@@ -452,10 +452,9 @@ files:
452
452
  - db/migrate/20180212092225_create_updated_at_index.rb
453
453
  - db/migrate/20180802220739_add_optimistic_locking_to_orm_resources.rb
454
454
  - db/schema.rb
455
- - gemfiles/activerecord_5_2.gemfile
456
- - gemfiles/activerecord_6_0.gemfile
457
455
  - gemfiles/activerecord_7_0.gemfile
458
- - gemfiles/faraday_0.gemfile
456
+ - gemfiles/activerecord_7_1.gemfile
457
+ - gemfiles/activerecord_7_2.gemfile
459
458
  - gemfiles/faraday_1.gemfile
460
459
  - lib/valkyrie.rb
461
460
  - lib/valkyrie/adapter_container.rb
@@ -582,7 +581,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
582
581
  - !ruby/object:Gem::Version
583
582
  version: '0'
584
583
  requirements: []
585
- rubygems_version: 3.1.6
584
+ rubygems_version: 3.5.16
586
585
  signing_key:
587
586
  specification_version: 4
588
587
  summary: An ORM using the Data Mapper pattern, specifically built to solve Digital
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
- # This file was generated by Appraisal
3
-
4
- source "https://rubygems.org"
5
-
6
- gem "activerecord", "~> 6.0.0"
7
- gem "ldp"
8
- gem "pg"
9
- gem "rsolr"
10
- gem "faraday", "< 1"
11
-
12
- gemspec path: "../"