effective_resources 1.19.1 → 2.0.1

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: 5fa9ad10485d34b037ef8158f511515c9a061b4ac524126b84c6e5817bd884a8
4
- data.tar.gz: 46b857a3f1882bc6b1a0d64ee6d5ee235604c54c5fef4ec02497c9481c9adefd
3
+ metadata.gz: 92cb8d28e2d00e637797983e7a92538e36b3096f417610f99b03675e418c495f
4
+ data.tar.gz: 8c3ad5a41b9f79ecbbf88577f93fd937454f6c472d68d8f05ecadd264fc4bece
5
5
  SHA512:
6
- metadata.gz: 9626397d8cdf8cfb2ecf1b04d0ca3d21d8279ebb53e603db92efc7de5a7d47d9f73d4f20da1299c1a1c9ac8b89733ea144a6a11605698562877a831d28ab9d08
7
- data.tar.gz: c5410dc75eb3e2aa126b15e2476f2824bc68ecb7ddd4c1811041601929524956ba616037b1e2680c8860b7d257a0df84efc9a2c92353c97a77f282e1014ae428
6
+ metadata.gz: a69b8c4224eeac5e5ef2c6e9bf537b562e02dc3c194cb82f0c4a001ff3485a2895111433fbf8058a1e7b92fd3eead3d19c0cf9bbee98b79b86570607db704727
7
+ data.tar.gz: ac9e60af57f79f860cadeb4263d1f898b3814188f07c7625fe070f25689cbbe93357a07a93e3c679e4d281c145e7f810e693dee5bfc5640e439e36e92955c475
@@ -228,7 +228,7 @@ module Effective
228
228
 
229
229
  # No attributes are assigned or saved. We purely call action! on the resource
230
230
 
231
- EffectiveResources.transaction do
231
+ ActiveRecord::Base.transaction do
232
232
  successes = resources.select do |resource|
233
233
  begin
234
234
  resource.public_send("#{action}!") if EffectiveResources.authorized?(self, action, resource)
@@ -55,14 +55,14 @@ module Effective
55
55
 
56
56
  if exception.present?
57
57
  Rails.logger.info " \e[31m\e[1mFAILED\e[0m\e[22m" # bold red
58
- Rails.logger.info " Unable to #{action} #{resource} - #{e.class} #{e}"
58
+ Rails.logger.info " Unable to #{action} #{resource} - #{exception.class} #{exception}"
59
59
  exception.backtrace.first(5).each { |line| Rails.logger.info(' ' + line) }
60
60
 
61
61
  if resource.respond_to?(:restore_attributes) && resource.persisted?
62
62
  resource.restore_attributes(['status', 'state'])
63
63
  end
64
64
 
65
- flash.now[:danger] = resource_flash(:danger, resource, action, e: e)
65
+ flash.now[:danger] = resource_flash(:danger, resource, action, e: exception)
66
66
 
67
67
  if exception.kind_of?(ActiveRecord::StaleObjectError)
68
68
  flash.now[:danger] = "#{flash.now[:danger]} <a href='#', class='alert-link' onclick='window.location.reload(true); return false;'>reload page and try again</a>"
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '1.19.1'.freeze
2
+ VERSION = '2.0.1'.freeze
3
3
  end
@@ -86,10 +86,6 @@ module EffectiveResources
86
86
  klass
87
87
  end
88
88
 
89
- def self.transaction(resource = nil, &block)
90
- resource.class.transaction { yield }
91
- end
92
-
93
89
  # Used by streaming CSV export in datatables
94
90
  def self.with_resource_enumerator(&block)
95
91
  raise('expected a block') unless block_given?
@@ -163,4 +159,17 @@ module EffectiveResources
163
159
  duplicate
164
160
  end
165
161
 
162
+ def self.transaction(resource = nil, &block)
163
+ raise('expected a block') unless block_given?
164
+
165
+ if resource.respond_to?(:transaction)
166
+ resource.transaction { yield }
167
+ elsif resource.class.respond_to?(:transaction)
168
+ resource.class.transaction { yield }
169
+ else
170
+ ActiveRecord::Base.transaction { yield }
171
+ end
172
+
173
+ end
174
+
166
175
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.19.1
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-28 00:00:00.000000000 Z
11
+ date: 2022-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails