effective_resources 1.8.8 → 1.8.9

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 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