effective_resources 0.4.4 → 0.4.5

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
  SHA1:
3
- metadata.gz: 10c047350e78353e5509d24980209bc53916e39c
4
- data.tar.gz: fd7eab9a51c6c9c2d2a634431a6ab9696079708d
3
+ metadata.gz: 4d2f4f585bbb5859066bf26049f670a026ad0df2
4
+ data.tar.gz: e10b256b516418051208158bc06a8dc76b46f1e6
5
5
  SHA512:
6
- metadata.gz: ca9824a092e57a9c8e87546bf09fc21d9e20134038a9103d3c900ea87119606e88e63dc532a187b5de049f063be613b9cf9361f40ccfdb4fba3ac4d44db4c82e
7
- data.tar.gz: 670074c014a952d6949c2e768845fdf54b7544910a10440c325bf7bda239d62cf078b70783b1d783b724ce2e90310a2ec24ff49d2103bad76a165e785c5172f6
6
+ metadata.gz: 33229026829624749822b3d54d0188b1979faf226d425b88f97dee7fe9618309d7f0630c7402ae36de704aabe5c9370af76e98f112de9b46583c240242f85835
7
+ data.tar.gz: 54286cafb8da006ef388c2d0a2ac0cf95c0b582e2f2bdb0f591188289bb05c32350f8452d11efd9ef23f3095ec3ada32a8a2fba7717bb85d3ccc0ffe8db94f01
@@ -27,12 +27,19 @@ module Effective
27
27
 
28
28
  referer = request.referer.to_s
29
29
 
30
- if referer.end_with?(send(effective_resource.edit_path, resource))
30
+ edit_path = send(effective_resource.edit_path, resource) if respond_to?(effective_resource.edit_path)
31
+ new_path = effective_resource.new_path if respond_to?(effective_resource.new_path)
32
+ show_path = effective_resource.show_path if respond_to?(effective_resource.show_path)
33
+
34
+ if edit_path && referer.end_with?(edit_path)
31
35
  @page_title ||= "Edit #{resource}"
32
36
  render :edit
33
- elsif referer.end_with?(send(effective_resource.new_path))
37
+ elsif new_path && referer.end_with?(new_path)
34
38
  @page_title ||= "New #{resource_name.titleize}"
35
39
  render :new
40
+ elsif show_path && referer.end_with?(show_path)
41
+ @page_title ||= resource_name.titleize
42
+ render :show
36
43
  else
37
44
  @page_title ||= resource.to_s
38
45
  flash[:danger] = flash.now[:danger]
@@ -48,6 +55,13 @@ module Effective
48
55
  end
49
56
  end
50
57
 
58
+ # page_title 'My Title', only: [:new]
59
+ def page_title(label, opts = {})
60
+ instance_eval do
61
+ before_action(opts) { @page_title = label }
62
+ end
63
+ end
64
+
51
65
  end
52
66
 
53
67
  def index
@@ -121,7 +135,7 @@ module Effective
121
135
  def destroy
122
136
  self.resource = resource_class.find(params[:id])
123
137
 
124
- @page_title = "Destroy #{resource}"
138
+ @page_title ||= "Destroy #{resource}"
125
139
  EffectiveResources.authorized?(self, :destroy, resource)
126
140
 
127
141
  if resource.destroy
@@ -143,8 +157,8 @@ module Effective
143
157
  def resource_redirect_path
144
158
  case params[:commit].to_s
145
159
  when 'Save' ; send(effective_resource.edit_path, resource)
146
- when 'Save and Continue' ; send(effective_resource.index_path)
147
160
  when 'Save and Add New' ; send(effective_resource.new_path)
161
+ when 'Save and Continue' ; send(resource_index_path)
148
162
  when 'Save and Return'
149
163
  request.referer.present? ? request.referer : send(resource_index_path)
150
164
  else
@@ -229,6 +243,7 @@ module Effective
229
243
  ["#{resource_name}_params", "#{resource_plural_name}_params", 'permitted_params'].find { |name| respond_to?(name, true) } || 'params'
230
244
  end
231
245
 
246
+ # Override this with Team.where(team: current_user.team) to build and create with team
232
247
  def resource_scope_method_name
233
248
  ["#{resource_name}_scope", "#{resource_plural_name}_scope", 'resource_scope', 'default_scope'].find { |name| respond_to?(name, true) }
234
249
  end
@@ -35,7 +35,16 @@ module Effective
35
35
  when ActiveRecord::Base
36
36
  { as: :select }.merge(Effective::Resource.new(type).search_form_field_collection)
37
37
  else
38
- { as: :string }
38
+ name = name.to_s
39
+
40
+ # If the method is named :status, and there is a Class::STATUSES
41
+ if (klass || NilClass).const_defined?(name.pluralize.upcase)
42
+ { as: :select, collection: klass.const_get(name.pluralize.upcase) }
43
+ elsif (klass || NilClass).const_defined?(name.singularize.upcase)
44
+ { as: :select, collection: klass.const_get(name.singularize.upcase) }
45
+ else
46
+ { as: :string }
47
+ end
39
48
  end
40
49
  end
41
50
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '0.4.4'.freeze
2
+ VERSION = '0.4.5'.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.4.4
4
+ version: 0.4.5
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: 2017-08-16 00:00:00.000000000 Z
11
+ date: 2017-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails