effective_resources 0.7.8 → 0.7.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
  SHA1:
3
- metadata.gz: 3deaacf629c453d765b048261350ddc03cc9f45e
4
- data.tar.gz: 25fc0245a9598ad7c007de51b19e7fa1ca3e3df5
3
+ metadata.gz: 022dfa4ea62f6a71b19192016d4a3108f657bda0
4
+ data.tar.gz: 2c0d60521353a87ca54acde430540636742adbd8
5
5
  SHA512:
6
- metadata.gz: 0f928dcba37bb38344262d307c254476456af1055df9e4a0f83f47c33da92bc153735b1c220f7b3719e323ae9dac6832460a6d3ab4b8279f2c64b2575f822177
7
- data.tar.gz: 75fa4e057ce348f2090a5afdf7d805493b026b8fe9a8dfe8164d7c9f6f3b274c70433f98d96cedcce203639b90b963c80eeed90997474d47e69e7a5106497daf
6
+ metadata.gz: f10e53623093ce79fe6b8a22aa10087aeed62014eb672338741d1277681c627cc7d1b5129c32cc1b0a1fa44332853ad9c2b02711d76801a130e85bbf3b356b71
7
+ data.tar.gz: cc17e8e6b4f1af4a4c1af4acdaaba2a47e4e9055ddee77975a05f878552410369ded8c65bedf01f1f9c0baa8f0cce4a069257554c0c0c8b254c7f93f863c010f
data/README.md CHANGED
@@ -58,7 +58,13 @@ class PostsController < ApplicationController
58
58
 
59
59
  # The permitted parameters for this post. Other recognized method names are posts_params and permitted_params
60
60
  def post_params
61
- params.require(:post).permit(:id, :title, :body)
61
+ params.require(:post).permit(:id, :author_id, :category, :title, :body)
62
+ end
63
+
64
+ # On #create or #update, if you click 'Add New', the new resource form will be rendered with these attributes preopulated
65
+ # Makes it super quick to Add New items if only one or two of the fields are changing.
66
+ def add_new_post_params
67
+ permitted_params.slice(:author_id, :category)
62
68
  end
63
69
 
64
70
  end
@@ -175,6 +175,11 @@ module Effective
175
175
  resource.created_by ||= current_user if resource.respond_to?(:created_by=)
176
176
 
177
177
  if save_resource(resource, action)
178
+ if add_new_resource_action?
179
+ render_add_new_resource! and return
180
+ end
181
+
182
+ # Normal redirect
178
183
  flash[:success] ||= flash_success(resource, action)
179
184
  redirect_to(resource_redirect_path)
180
185
  else
@@ -213,6 +218,11 @@ module Effective
213
218
  resource.assign_attributes(send(resource_params_method_name))
214
219
 
215
220
  if save_resource(resource, action)
221
+ if add_new_resource_action?
222
+ render_add_new_resource! and return
223
+ end
224
+
225
+ # Normal save
216
226
  flash[:success] ||= flash_success(resource, action)
217
227
  redirect_to(resource_redirect_path)
218
228
  else
@@ -362,6 +372,21 @@ module Effective
362
372
  end.presence || root_path
363
373
  end
364
374
 
375
+ def add_new_resource_action?
376
+ (add_new_resource_params_method_name.present? && resource_redirect_path == resource_new_path)
377
+ end
378
+
379
+ def render_add_new_resource!
380
+ attributes = send(add_new_resource_params_method_name).except(:id, :created_at, :updated_at)
381
+ self.resource = resource_scope.new(attributes)
382
+
383
+ @page_title = "New #{resource_name.titleize}"
384
+ flash.now[:success] ||= flash_success(resource) + ". Adding another #{resource_name.titleize} based on previous."
385
+
386
+ render(:new)
387
+ true
388
+ end
389
+
365
390
  def referer_redirect_path
366
391
  return if (resource && resource.destroyed? && request.referer.to_s.include?("/#{resource.to_param}"))
367
392
 
@@ -476,5 +501,10 @@ module Effective
476
501
  ["#{resource_name}_params", "#{resource_plural_name}_params", 'permitted_params'].find { |name| respond_to?(name, true) } || 'params'
477
502
  end
478
503
 
504
+ def add_new_resource_params_method_name
505
+ method_name = resource_params_method_name
506
+ "add_new_#{method_name}" if respond_to?("add_new_#{method_name}", true)
507
+ end
508
+
479
509
  end
480
510
  end
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '0.7.8'.freeze
2
+ VERSION = '0.7.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: 0.7.8
4
+ version: 0.7.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: 2018-01-22 00:00:00.000000000 Z
11
+ date: 2018-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -83,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  version: '0'
84
84
  requirements: []
85
85
  rubyforge_project:
86
- rubygems_version: 2.4.5.1
86
+ rubygems_version: 2.5.2
87
87
  signing_key:
88
88
  specification_version: 4
89
89
  summary: Make any controller an effective resource controller.