effective_resources 0.8.13 → 0.8.14

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
  SHA1:
3
- metadata.gz: d4e0b794db680cc5d1128cec78d437057338870c
4
- data.tar.gz: b5ce5e70f5abb3c49dd771ab6745fc859610e82a
3
+ metadata.gz: 68074e96512d111e7b55e78fd29b1b15496f4363
4
+ data.tar.gz: df35b07a9314f9f181b3505e808b1693d4d9756c
5
5
  SHA512:
6
- metadata.gz: 0e25d29b786c84a6337c1a655d90719dfecdeb4a824db2d37d2815cb9a6c485df6a5c7fe7e53da9cfc509c0f3d0d5e9e959bff939ee38f5f197dfe7c468f33bd
7
- data.tar.gz: 41a58b98945b99b7725f45b7c7b7f4ff5de90f2c3cb1e659f1f031cf2e6d0ea05a4648fdf418360da6105a5b29fb43afff8ae40286ae95f3f8ffcb103244b418
6
+ metadata.gz: ba76ceb463231bbf9c61e844ddc39dd60cd010c18b61bc7d121ed890ead8bc97e15aafacd96a50ba208c67211578b20a0ac30a82769e2c679de263fe8d3f5aec
7
+ data.tar.gz: 44235f52f3fdfcf346b4fec727439b032ba51e82928bcf21ab43f554161d59b95d585359490c20da636cbbd41cafaf9cdd376b901abcc422f9f00098daecab17
@@ -82,11 +82,12 @@ module Effective
82
82
 
83
83
  # page_title 'My Title', only: [:new]
84
84
  def page_title(label = nil, opts = {}, &block)
85
+ opts = label if label.kind_of?(Hash)
85
86
  raise 'expected a label or block' unless (label || block_given?)
86
87
 
87
88
  instance_exec do
88
89
  before_action(opts) do
89
- @page_title ||= (block_given? ? instance_exec(&block) : label)
90
+ @page_title ||= (block_given? ? instance_exec(&block) : label).to_s
90
91
  end
91
92
  end
92
93
  end
@@ -328,13 +329,13 @@ module Effective
328
329
  if save_resource(resource, action, (send(resource_params_method_name) rescue {}))
329
330
  format.html do
330
331
  flash[:success] ||= resource_flash(:success, resource, action)
331
- redirect_to(resource_redirect_path)
332
+ redirect_to(resource_redirect_path(action))
332
333
  end
333
334
 
334
335
  format.js do
335
336
  if specific_redirect_path?(action)
336
337
  flash[:success] ||= resource_flash(:success, resource, action)
337
- redirect_to(resource_redirect_path)
338
+ redirect_to(resource_redirect_path(action))
338
339
  else
339
340
  flash.now[:success] ||= resource_flash(:success, resource, action)
340
341
  reload_resource
@@ -358,7 +359,7 @@ module Effective
358
359
  else
359
360
  @page_title ||= resource.to_s
360
361
  flash[:danger] = flash.now[:danger]
361
- redirect_to(referer_redirect_path || resource_redirect_path)
362
+ redirect_to(referer_redirect_path || resource_redirect_path(action))
362
363
  end
363
364
  end
364
365
 
@@ -439,7 +440,8 @@ module Effective
439
440
  end
440
441
 
441
442
  def resource_flash(status, resource, action)
442
- message = commit_action[status].respond_to?(:call) ? instance_exec(&commit_action[status]) : commit_action[status]
443
+ submit = commit_action(action)
444
+ message = submit[status].respond_to?(:call) ? instance_exec(&submit[status]) : submit[status]
443
445
  return message if message.present?
444
446
 
445
447
  message || case status
@@ -450,8 +452,9 @@ module Effective
450
452
  end
451
453
  end
452
454
 
453
- def resource_redirect_path
454
- redirect = commit_action[:redirect].respond_to?(:call) ? instance_exec(&commit_action[:redirect]) : commit_action[:redirect]
455
+ def resource_redirect_path(action = nil)
456
+ submit = commit_action(action)
457
+ redirect = submit[:redirect].respond_to?(:call) ? instance_exec(&submit[:redirect]) : submit[:redirect]
455
458
 
456
459
  commit_action_redirect = case redirect
457
460
  when :index ; resource_index_path
@@ -461,7 +464,7 @@ module Effective
461
464
  when :duplicate ; resource_duplicate_path
462
465
  when :back ; referer_redirect_path
463
466
  when :save ; [resource_edit_path, resource_show_path].compact.first
464
- when Symbol ; resource_action_path(commit_action[:action])
467
+ when Symbol ; resource_action_path(submit[:action])
465
468
  when String ; redirect
466
469
  else ; nil
467
470
  end
@@ -562,20 +565,17 @@ module Effective
562
565
  (action.to_s + (action.to_s.end_with?('e') ? 'd' : 'ed'))
563
566
  end
564
567
 
565
- def commit_action
568
+ # Based on the incoming params[:commit] or passed action
569
+ def commit_action(action = nil)
566
570
  self.class.submits[params[:commit].to_s] ||
567
- self.class.submits.find { |_, v| v[:action] == :save }&.last ||
568
- { action: :save }
569
- end
570
-
571
- def submit_action(action)
572
571
  self.class.submits[action.to_s] ||
573
572
  self.class.submits.find { |_, v| v[:action] == action }&.last ||
574
- { action: action }
573
+ self.class.submits.find { |_, v| v[:action] == :save }&.last ||
574
+ { action: (action || :save) }
575
575
  end
576
576
 
577
577
  def specific_redirect_path?(action = nil)
578
- submit = (action.nil? ? commit_action : submit_action(action))
578
+ submit = commit_action(action)
579
579
  (submit[:redirect].respond_to?(:call) ? instance_exec(&submit[:redirect]) : submit[:redirect]).present?
580
580
  end
581
581
 
@@ -6,10 +6,11 @@ module Effective
6
6
  def flash_success(resource, action = nil, name: nil)
7
7
  raise 'expected an ActiveRecord resource' unless (name || resource.class.respond_to?(:model_name))
8
8
 
9
- action ||= :save
10
9
  name ||= resource.class.model_name.human
11
10
 
12
- "#{name.to_s.titleize} was successfully #{action}#{(action.to_s == 'submit' ? 't' : '')}#{(action.to_s.end_with?('e') ? 'd' : 'ed')}"
11
+ action = (action || :save).to_s.gsub('_', ' ')
12
+
13
+ "#{name.to_s.titleize} was successfully #{action}#{(action == 'submit' ? 't' : '')}#{(action.end_with?('e') ? 'd' : 'ed')}"
13
14
  end
14
15
 
15
16
  # flash.now[:danger] = flash_danger(@post)
@@ -17,6 +18,7 @@ module Effective
17
18
  raise 'expected an ActiveRecord resource' unless resource.respond_to?(:errors) && (name || resource.class.respond_to?(:model_name))
18
19
 
19
20
  action ||= resource.respond_to?(:new_record?) ? (resource.new_record? ? :create : :update) : :save
21
+ action = action.to_s.gsub('_', ' ')
20
22
  name ||= resource.class.model_name.human
21
23
  messages = flash_errors(resource, e: e)
22
24
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '0.8.13'.freeze
2
+ VERSION = '0.8.14'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.13
4
+ version: 0.8.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect