valkyrie-sequel 2.2.1 → 3.0.0.pre.beta.1
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 +4 -4
- data/lib/valkyrie/sequel/persister.rb +13 -6
- data/lib/valkyrie/sequel/version.rb +1 -1
- data/valkyrie-sequel.gemspec +1 -1
- metadata +7 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6d42b77cece523b4eeacf7f4853bc20e0fac7f5b8df24e742ae4ef1e6b7df12
|
4
|
+
data.tar.gz: 6edac9cf3f494640dfe74e062dd3760d9f0386d8d3b60dcf2ea7f01190e3fc3d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53f9dc78cec19cb0eaac3e7001eaf2f8d2cf8c29e3ec10795fa0f1b69162ba34d8a237582c9f7345022fc0d82d422eac490be84eb8596f39941b2dffad2af812
|
7
|
+
data.tar.gz: 51faaaad25361de2f20885dafa49307a56bb75bd91a2a907607ae4228bef125764acf7d6ef162a34c2fbc50270ff3a6e5a5b1922074c33030a0415a2b4e97d87
|
@@ -8,9 +8,9 @@ module Valkyrie::Sequel
|
|
8
8
|
@adapter = adapter
|
9
9
|
end
|
10
10
|
|
11
|
-
def save(resource:)
|
11
|
+
def save(resource:, external_resource: false)
|
12
12
|
object_attributes = resource_factory.from_resource(resource: resource)
|
13
|
-
output = create_or_update(resource: resource, attributes: object_attributes)
|
13
|
+
output = create_or_update(resource: resource, attributes: object_attributes, external_resource: external_resource)
|
14
14
|
resource_factory.to_resource(object: output)
|
15
15
|
end
|
16
16
|
|
@@ -121,11 +121,18 @@ module Valkyrie::Sequel
|
|
121
121
|
|
122
122
|
private
|
123
123
|
|
124
|
-
def create_or_update(resource:, attributes:)
|
124
|
+
def create_or_update(resource:, attributes:, external_resource:)
|
125
125
|
attributes[:updated_at] = Time.now.utc
|
126
126
|
attributes[:created_at] ||= Time.now.utc
|
127
|
-
|
128
|
-
|
127
|
+
if exists?(id: attributes[:id])
|
128
|
+
update(resource: resource, attributes: attributes)
|
129
|
+
else
|
130
|
+
if !external_resource && resource.persisted?
|
131
|
+
# This resource has been deleted in the meantime, error.
|
132
|
+
raise Valkyrie::Persistence::ObjectNotFoundError, "The object #{resource.id} is previously persisted but not found at save time." unless exists?(id: attributes[:id])
|
133
|
+
end
|
134
|
+
create(resource: resource, attributes: attributes)
|
135
|
+
end
|
129
136
|
end
|
130
137
|
|
131
138
|
def create(resource:, attributes:)
|
@@ -146,7 +153,7 @@ module Valkyrie::Sequel
|
|
146
153
|
end
|
147
154
|
|
148
155
|
def exists?(id:)
|
149
|
-
resources.select(1).first(id: id).nil?
|
156
|
+
!resources.select(1).first(id: id).nil?
|
150
157
|
end
|
151
158
|
end
|
152
159
|
end
|
data/valkyrie-sequel.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
|
23
23
|
spec.add_dependency "sequel", "~> 5.0"
|
24
24
|
spec.add_dependency "sequel_pg", "~> 1.0"
|
25
|
-
spec.add_dependency "valkyrie", ">=
|
25
|
+
spec.add_dependency "valkyrie", ">= 3.0.0-beta.1"
|
26
26
|
spec.add_dependency "oj", "~> 3.0"
|
27
27
|
spec.add_development_dependency "bundler", "~> 2.0"
|
28
28
|
spec.add_development_dependency "rake"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: valkyrie-sequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0.pre.beta.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Trey Pendragon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sequel
|
@@ -44,20 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
48
|
-
- - "<"
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: '2.3'
|
47
|
+
version: 3.0.0.pre.beta.1
|
51
48
|
type: :runtime
|
52
49
|
prerelease: false
|
53
50
|
version_requirements: !ruby/object:Gem::Requirement
|
54
51
|
requirements:
|
55
52
|
- - ">="
|
56
53
|
- !ruby/object:Gem::Version
|
57
|
-
version:
|
58
|
-
- - "<"
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '2.3'
|
54
|
+
version: 3.0.0.pre.beta.1
|
61
55
|
- !ruby/object:Gem::Dependency
|
62
56
|
name: oj
|
63
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -214,11 +208,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
214
208
|
version: '0'
|
215
209
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
216
210
|
requirements:
|
217
|
-
- - "
|
211
|
+
- - ">"
|
218
212
|
- !ruby/object:Gem::Version
|
219
|
-
version:
|
213
|
+
version: 1.3.1
|
220
214
|
requirements: []
|
221
|
-
rubygems_version: 3.
|
215
|
+
rubygems_version: 3.0.3
|
222
216
|
signing_key:
|
223
217
|
specification_version: 4
|
224
218
|
summary: Valkyrie::MetadataAdapter for Postgres using Sequel.
|