effective_resources 1.2.9 → 1.2.10
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c5735d626c13c149f4c5e519769686ac75a3c9b
|
4
|
+
data.tar.gz: 5b86c718b4b6814616ffabf641befd81cb4b7897
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aced45e77272bc6492bda40dec68233e19d00bf04c7a391950b76c1a802a83d05c3406843bd36fa9a81e552042a2d153e483737a2680e2a49b057803dbee5505
|
7
|
+
data.tar.gz: 6f05a66c4a972d894dd598654362ff4f32abbf68c4351d38720e4fe16782b88071c2b67eedcb81b8ddf4e1fb824585954a3a2da17131f1dfe6587bcc6ac43cd0
|
@@ -42,6 +42,9 @@ module Effective
|
|
42
42
|
# That class doesn't implement effective_resource do .. end block
|
43
43
|
return [] unless effective_resource.present?
|
44
44
|
|
45
|
+
@permitted_params_for_seen_klasses ||= []
|
46
|
+
@permitted_params_for_seen_klasses << effective_resource.klass
|
47
|
+
|
45
48
|
# This is :id, all belongs_to ids, and model attributes
|
46
49
|
permitted_params = effective_resource.permitted_attributes.select do |name, (_, atts)|
|
47
50
|
if BLACKLIST.include?(name)
|
@@ -85,6 +88,8 @@ module Effective
|
|
85
88
|
|
86
89
|
# Recursively add any accepts_nested_resources
|
87
90
|
effective_resource.accepts_nested_attributes.each do |nested|
|
91
|
+
next if @permitted_params_for_seen_klasses.include?(nested.klass)
|
92
|
+
|
88
93
|
if (nested_params = permitted_params_for(nested.klass, namespaces)).present?
|
89
94
|
nested_params.insert(nested_params.rindex { |obj| !obj.kind_of?(Hash)} + 1, :_destroy)
|
90
95
|
permitted_params << { "#{nested.name}_attributes".to_sym => nested_params }
|
@@ -40,16 +40,8 @@ module Effective
|
|
40
40
|
flash.delete(:success)
|
41
41
|
flash.now[:danger] ||= resource_flash(:danger, resource, action)
|
42
42
|
|
43
|
-
redirect_flash if specific_redirect_path?(:error)
|
44
|
-
|
45
43
|
run_callbacks(:resource_render)
|
46
44
|
|
47
|
-
if specific_redirect_path?(:error)
|
48
|
-
format.html { redirect_to resource_redirect_path(:error) }
|
49
|
-
format.js { redirect_to resource_redirect_path(:error) }
|
50
|
-
return
|
51
|
-
end
|
52
|
-
|
53
45
|
# HTML responder
|
54
46
|
case action.to_sym
|
55
47
|
when :create
|
@@ -120,26 +120,44 @@ module ActsAsStatused
|
|
120
120
|
|
121
121
|
# Create an received scope and approved? method for each status
|
122
122
|
acts_as_statused_options[:statuses].each do |sym|
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
define_method("#{sym}_by_id") { status_steps["#{sym}_by".to_sym] }
|
127
|
-
define_method("was_#{sym}?") { send("#{sym}_at").present? }
|
123
|
+
unless respond_to?("#{sym}?")
|
124
|
+
define_method("#{sym}?") { status == sym.to_s }
|
125
|
+
end
|
128
126
|
|
129
|
-
#
|
130
|
-
|
131
|
-
raise 'expected a Hash of passed attributes' unless atts.kind_of?(Hash)
|
132
|
-
update!(atts.merge(status: sym))
|
127
|
+
unless respond_to?("#{sym}_at")
|
128
|
+
define_method("#{sym}_at") { status_steps["#{sym}_at".to_sym] }
|
133
129
|
end
|
134
130
|
|
135
|
-
#
|
136
|
-
|
137
|
-
|
131
|
+
unless respond_to?("#{sym}_by")
|
132
|
+
define_method("#{sym}_by") { acts_as_statused_by_user(sym) }
|
133
|
+
end
|
138
134
|
|
139
|
-
|
140
|
-
|
135
|
+
unless respond_to?("#{sym}_by_id")
|
136
|
+
define_method("#{sym}_by_id") { status_steps["#{sym}_by".to_sym] }
|
137
|
+
end
|
138
|
+
|
139
|
+
unless respond_to?("was_#{sym}?")
|
140
|
+
define_method("was_#{sym}?") { send("#{sym}_at").present? }
|
141
|
+
end
|
141
142
|
|
142
|
-
|
143
|
+
# approved!
|
144
|
+
unless respond_to?("#{sym}!")
|
145
|
+
define_method("#{sym}!") do |atts = {}|
|
146
|
+
raise 'expected a Hash of passed attributes' unless atts.kind_of?(Hash)
|
147
|
+
update!(atts.merge(status: sym))
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
# unapproved!
|
152
|
+
unless respond_to?("un#{sym}!")
|
153
|
+
define_method("un#{sym}!") do
|
154
|
+
self.status = nil if (status == sym.to_s)
|
155
|
+
|
156
|
+
status_steps.delete("#{sym}_at".to_sym)
|
157
|
+
status_steps.delete("#{sym}_by".to_sym)
|
158
|
+
|
159
|
+
true
|
160
|
+
end
|
143
161
|
end
|
144
162
|
|
145
163
|
scope(sym, -> { where(status: sym.to_s) })
|
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.2.
|
4
|
+
version: 1.2.10
|
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: 2019-03-
|
11
|
+
date: 2019-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|