effective_resources 1.2.9 → 1.2.10
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:
|
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
|