valkyrie 3.3.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
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: "../"