effective_resources 1.8.8 → 1.8.9

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: 7247ed4940067b7becde627b02de2ccc38e8fa425b0a43f1080e60b40b4c57dc
4
- data.tar.gz: 38939264d4747f0d2f83a306c9d0fc4e474e6f6303dd612d47e40390a0cf0e8e
3
+ metadata.gz: 9509a414f11385f7ea245dd9981a689630cf9266678ff038f96c46fddd79091a
4
+ data.tar.gz: abb42db276f35a17a8a1cae9ed5d226d34488f6a06c0ca6096a95a55974a24f8
5
5
  SHA512:
6
- metadata.gz: a42dba0d42144cae133a766cebe9192d0257e3a0610a4535c163311f193923c56b5b21c15a4643d842557945d66d5a68faac4c0b1934ec406ce99ef8e991d5ad
7
- data.tar.gz: fd8659905534432f07004a55d072dab21ab2c87e9f374c4b54fef68d8bec93450f68637200d598c430575b72969e3d156a419bd349ca54eb6460f0412acda4cc
6
+ metadata.gz: e8364de4a198c0e481a8819571b12d8e2092ad1785a1403f8a5c7c4993497f8c4b4e6309582b8661651f0ab95933e36418d67a2dccdb811c74cb9914af49cdd4
7
+ data.tar.gz: 68917727e998f65ad44282caa4ceb4810bce58a81c0a6ed66d56760992e840a5a4cdd662d889022e4fae3ff99fad488a4d44603604d1c986344bf42cf45c91c4
@@ -45,8 +45,10 @@ module Effective
45
45
  @_effective_resource ||= begin
46
46
  relation = instance_exec(&resource_scope_relation) if respond_to?(:resource_scope_relation)
47
47
 
48
- if respond_to?(:resource_scope_relation) && !relation.kind_of?(ActiveRecord::Relation)
49
- raise('resource_scope must return an ActiveRecord::Relation')
48
+ if respond_to?(:resource_scope_relation)
49
+ unless relation.kind_of?(ActiveRecord::Relation) || (relation.kind_of?(Class) && relation.ancestors.include?(ActiveModel::Model))
50
+ raise('resource_scope must return an ActiveRecord::Relation or class including ActiveModel::Model')
51
+ end
50
52
  end
51
53
 
52
54
  resource = Effective::Resource.new(controller_path, relation: relation)
@@ -8,8 +8,10 @@ module Effective
8
8
  def flash_success(resource, action = nil, name: nil)
9
9
  raise 'expected an ActiveRecord resource' unless (name || resource.class.respond_to?(:model_name))
10
10
 
11
- name ||= begin
12
- resource.destroyed? ? resource.class.model_name.to_s.downcase.split('::').last : resource.to_s.presence
11
+ name ||= if resource.respond_to?(:destroyed?) && resource.destroyed?
12
+ resource.class.model_name.to_s.downcase.split('::').last
13
+ else
14
+ resource.to_s.presence
13
15
  end
14
16
 
15
17
  "Successfully #{action_verb(action)} #{name || 'resource'}".html_safe
@@ -24,8 +26,10 @@ module Effective
24
26
 
25
27
  messages = flash_errors(resource, e: e)
26
28
 
27
- name ||= begin
28
- resource.destroyed? ? resource.class.model_name.to_s.downcase.split('::').last : resource.to_s.presence
29
+ name ||= if resource.respond_to?(:destroyed?) && resource.destroyed?
30
+ resource.class.model_name.to_s.downcase.split('::').last
31
+ else
32
+ resource.to_s.presence
29
33
  end
30
34
 
31
35
  ["Unable to #{action}", (" #{name}" if name), (": #{messages}" if messages)].compact.join.html_safe
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '1.8.8'.freeze
2
+ VERSION = '1.8.9'.freeze
3
3
  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.8.8
4
+ version: 1.8.9
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: 2021-03-17 00:00:00.000000000 Z
11
+ date: 2021-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails