effective_resources 1.8.8 → 1.8.13

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: '064967a176b57ad12b7dd280d6f0471ca8655fd061cb9bf0aa58c6bac94772ad'
4
+ data.tar.gz: f5c4412bd5732c346a5aa7c5764c11178ab109afc58eb9949c97211dde972c00
5
5
  SHA512:
6
- metadata.gz: a42dba0d42144cae133a766cebe9192d0257e3a0610a4535c163311f193923c56b5b21c15a4643d842557945d66d5a68faac4c0b1934ec406ce99ef8e991d5ad
7
- data.tar.gz: fd8659905534432f07004a55d072dab21ab2c87e9f374c4b54fef68d8bec93450f68637200d598c430575b72969e3d156a419bd349ca54eb6460f0412acda4cc
6
+ metadata.gz: 3169964c8d02171156423cbb0439ed671887d095d2c26fa7ffbf254162cfb9b72b7ab0f63dcc8eef2420bb0139fe2cba00a7e16cec7632232d6af3383796ce34
7
+ data.tar.gz: cdc0afac03a21901fe95495e8b3ebb64c64017b71487173eb2cb85232a35da5cf367af0725d3a25f3170874e13c753c2fdeb67cb98aab8a5ea6cf75f136bc9a5
@@ -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)
@@ -94,6 +96,10 @@ module Effective
94
96
  effective_resource.klass
95
97
  end
96
98
 
99
+ def resource_human_name
100
+ effective_resource.human_name
101
+ end
102
+
97
103
  def resource_plural_name # 'things'
98
104
  effective_resource.plural_name
99
105
  end
@@ -15,7 +15,7 @@ module Effective
15
15
 
16
16
  format.js do
17
17
  flash[:success] ||= resource_flash(:success, resource, action)
18
- redirect_to(resource_redirect_path(resource, action))
18
+ render(action, locals: { remote_form_redirect: resource_redirect_path(resource, action)}) # action.js.erb
19
19
  end
20
20
  end
21
21
  elsif template_present?(action)
@@ -27,7 +27,6 @@ module Effective
27
27
 
28
28
  format.js do
29
29
  flash.now[:success] ||= resource_flash(:success, resource, action)
30
- #reload_resource unless action == :destroy # Removed.
31
30
  render(action) # action.js.erb
32
31
  end
33
32
  end
@@ -96,9 +95,7 @@ module Effective
96
95
  end
97
96
 
98
97
  def template_present?(action)
99
- #lookup_context.template_exists?("#{action}.#{request.format.symbol.to_s.sub('json', 'js').presence || 'html'}", _prefixes)
100
-
101
- formats = [request.format.symbol.to_s.sub('json', 'js').presence || 'html']
98
+ formats = [(request.format.symbol.to_s.sub('json', 'js').presence || 'html').to_sym]
102
99
  lookup_context.template_exists?(action, _prefixes, formats: formats)
103
100
  end
104
101
 
@@ -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_human_name
13
+ else
14
+ resource.to_s.presence || resource_human_name
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_human_name
31
+ else
32
+ resource.to_s.presence || resource_human_name
29
33
  end
30
34
 
31
35
  ["Unable to #{action}", (" #{name}" if name), (": #{messages}" if messages)].compact.join.html_safe
@@ -7,7 +7,7 @@ module Effective
7
7
  action ||= resource.respond_to?("#{step}!") ? step : :save
8
8
 
9
9
  if save_resource(resource, action)
10
- flash[:success] = options.delete(:success) || resource_flash(:success, resource, action)
10
+ flash[:success] ||= options.delete(:success) || resource_flash(:success, resource, action)
11
11
 
12
12
  @skip_to ||= next_step
13
13
  @redirect_to ||= resource_wizard_path(resource, @skip_to) if was_new_record
@@ -65,7 +65,7 @@ module ActsAsWizard
65
65
  end
66
66
 
67
67
  def has_completed_step?(step)
68
- wizard_steps[step].present?
68
+ (errors.present? ? wizard_steps_was : wizard_steps)[step].present?
69
69
  end
70
70
 
71
71
  def next_step
@@ -31,14 +31,14 @@ module Effective
31
31
  end
32
32
 
33
33
  def route_name_fallbacks
34
- mod = class_name.split('::').first.downcase
34
+ mod = class_name.split('::').first.to_s.downcase
35
35
 
36
36
  matches = [
37
37
  route_name.singularize,
38
38
  [*namespace, plural_name].join('/'),
39
39
  [*namespace, name].join('/'),
40
- [mod, *namespace, plural_name].join('/'),
41
- [mod, *namespace, name].join('/')
40
+ [*mod, *namespace, plural_name].join('/'),
41
+ [*mod, *namespace, name].join('/')
42
42
  ]
43
43
  end
44
44
 
@@ -4,8 +4,8 @@
4
4
  EffectiveForm.remote_form_payload = "<%= j render_resource_form(@resource) %>";
5
5
  EffectiveForm.remote_form_commit = "<%= params[:commit] %>";
6
6
  EffectiveForm.remote_form_flash = <%= raw flash.to_json %>;
7
+ EffectiveForm.remote_form_redirect = "<%= local_assigns[:remote_form_redirect] %>";
7
8
 
8
9
  <% if @resource.respond_to?(:refresh_datatables) && @resource.refresh_datatables.present? %>
9
10
  EffectiveForm.remote_form_refresh_datatables = <%= raw Array(@resource.refresh_datatables).uniq.compact.map(&:to_s) %>;
10
11
  <% end %>
11
-
@@ -4,6 +4,7 @@
4
4
  EffectiveForm.remote_form_payload = '';
5
5
  EffectiveForm.remote_form_commit = "<%= params[:commit] %>";
6
6
  EffectiveForm.remote_form_flash = <%= raw flash.to_json %>;
7
+ EffectiveForm.remote_form_redirect = "<%= local_assigns[:remote_form_redirect] %>";
7
8
 
8
9
  <% if @resource.respond_to?(:refresh_datatables) && @resource.refresh_datatables.present? %>
9
10
  EffectiveForm.remote_form_refresh_datatables = <%= raw Array(@resource.refresh_datatables).uniq.compact.map(&:to_s) %>;
@@ -5,6 +5,10 @@ EffectiveForm.remote_form_payload = "<%= j render_resource_form(@resource, actio
5
5
  EffectiveForm.remote_form_commit = "<%= params[:commit] %>";
6
6
  EffectiveForm.remote_form_flash = <%= raw flash.to_json %>;
7
7
 
8
+ <% if !request.get? %>
9
+ EffectiveForm.remote_form_redirect = "<%= local_assigns[:remote_form_redirect] %>";
10
+ <% end %>
11
+
8
12
  <% if !request.get? && @resource.respond_to?(:refresh_datatables) && @resource.refresh_datatables.present? %>
9
13
  EffectiveForm.remote_form_refresh_datatables = <%= raw Array(@resource.refresh_datatables).uniq.compact.map(&:to_s) %>;
10
14
  <% end %>
@@ -4,6 +4,7 @@
4
4
  EffectiveForm.remote_form_payload = "<%= j render_resource_form(@resource) %>";
5
5
  EffectiveForm.remote_form_commit = "<%= params[:commit] %>";
6
6
  EffectiveForm.remote_form_flash = <%= raw flash.to_json %>;
7
+ EffectiveForm.remote_form_redirect = "<%= raw local_assigns[:remote_form_redirect] %>";
7
8
 
8
9
  <% if @resource.respond_to?(:refresh_datatables) && @resource.refresh_datatables.present? %>
9
10
  EffectiveForm.remote_form_refresh_datatables = <%= raw Array(@resource.refresh_datatables).uniq.compact.map(&:to_s) %>;
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '1.8.8'.freeze
2
+ VERSION = '1.8.13'.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.13
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-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails