sequel-activerecord_connection 0.2.5 → 0.2.6

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: 2f7d0993543eb478053e24dbbde84de0aaefdb13eb03a8852dd7d8f7facd2532
4
- data.tar.gz: 104318c5d02c0731e945dd3022b109902cdf2f97176b71511d06e68b4bbf8a10
3
+ metadata.gz: 95766ef8e2bf54388e4a139f430c42176760f2b77e0322902445414ffe3d7ddb
4
+ data.tar.gz: 35a9fe4b35ff4037299799be9d902e93a29f9d81333ddf084374a4525761a2b1
5
5
  SHA512:
6
- metadata.gz: d70812ee57dc9225683adfe196a2bc0f72de24e38cbd2d9492317073ed50a97ed58294a718d799655d953f9b80fc37dd27af78566d9f2bfaf9b95c454faa7a6d
7
- data.tar.gz: b7ec97e1c602bd544df1fba4c0a554846100ac1daed3e866d8ba837ca20b68f9b44f0f89db3a97d6c5e166a80e8276d1c30159453626af5692c8f78401cd2e54
6
+ metadata.gz: 93a612e4cfc3454783ba936a19518459fee958e53f8193e9f0561d65961008892a7b8c24a3189e5b2cc8620803e0da1375cd36f5c319af4adf7461656e2e462e
7
+ data.tar.gz: 526c8b8ce56b481f5fa98ff1dbd242fc9104665dab6166bd4797514ae187bfe0e9460881dc9f6783e1216323a9a0d701949de2d1972865d464a9a13c51dd4c41
@@ -1,3 +1,9 @@
1
+ ## 0.2.6 (2020-07-19)
2
+
3
+ * Return block result in `Sequel::Database#transaction` (@zabolotnov87, @janko)
4
+
5
+ * Fix `Sequel::Model#save_changes` or `#save` with additional options not executing (@zabolotnov87, @janko)
6
+
1
7
  ## 0.2.5 (2020-06-04)
2
8
 
3
9
  * Use `#current_timestamp_utc` for the JDBC SQLite adapter as well (@HoneyryderChuck)
@@ -22,31 +22,22 @@ module Sequel
22
22
  end
23
23
 
24
24
  def transaction(options = {})
25
- savepoint = options.delete(:savepoint)
26
- rollback = options.delete(:rollback)
27
- auto_savepoint = options.delete(:auto_savepoint)
28
- server = options.delete(:server)
29
-
30
- fail Error, "#{options} transaction options are currently not supported" unless options.empty?
31
-
32
- if in_transaction?
33
- requires_new = savepoint || Thread.current[:sequel_activerecord_auto_savepoint]
34
- else
35
- requires_new = true
25
+ %i[isolation num_retries before_retry prepare retry_on].each do |key|
26
+ fail Error, "#{key.inspect} transaction option is currently not supported" if options.key?(key)
36
27
  end
37
28
 
38
- activerecord_model.transaction(requires_new: requires_new) do
29
+ activerecord_model.transaction(requires_new: !in_transaction? || options[:savepoint] || Thread.current[:sequel_activerecord_auto_savepoint]) do
39
30
  begin
40
- Thread.current[:sequel_activerecord_auto_savepoint] = true if auto_savepoint
41
- yield
31
+ Thread.current[:sequel_activerecord_auto_savepoint] = true if options[:auto_savepoint]
32
+ result = yield
33
+ raise ActiveRecord::Rollback if options[:rollback] == :always
34
+ result
42
35
  rescue Sequel::Rollback => exception
43
- raise if rollback == :reraise
36
+ raise if options[:rollback] == :reraise
44
37
  raise ActiveRecord::Rollback, exception.message, exception.backtrace
45
38
  ensure
46
- Thread.current[:sequel_activerecord_auto_savepoint] = nil if auto_savepoint
39
+ Thread.current[:sequel_activerecord_auto_savepoint] = nil if options[:auto_savepoint]
47
40
  end
48
-
49
- raise ActiveRecord::Rollback if rollback == :always
50
41
  end
51
42
  end
52
43
 
@@ -14,6 +14,14 @@ module Sequel
14
14
  ensure
15
15
  result.clear if result
16
16
  end
17
+
18
+ def transaction(options = {})
19
+ %i[deferrable read_only synchronous].each do |key|
20
+ fail Error, "#{key.inspect} transaction option is currently not supported" if options.key?(key)
21
+ end
22
+
23
+ super
24
+ end
17
25
  end
18
26
  end
19
27
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "sequel-activerecord_connection"
3
- spec.version = "0.2.5"
3
+ spec.version = "0.2.6"
4
4
  spec.authors = ["Janko Marohnić"]
5
5
  spec.email = ["janko.marohnic@gmail.com"]
6
6
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel-activerecord_connection
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Janko Marohnić
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-04 00:00:00.000000000 Z
11
+ date: 2020-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sequel