rest_framework 0.8.1 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/rest_framework/controller_mixins/models.rb +3 -2
- data/lib/rest_framework/utils.rb +7 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a54e0539466e7981ab8ba95a1877ad705b46279309c1d3bfd2cfd038e916b2b
|
4
|
+
data.tar.gz: c26e553c6b4b5435545ffb5fa71c59720f42303347b35336077c764b00fd889d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 79a80f7d7b3ab044203b612fc8ed453c3a7490a17e9e53adb8386719b9d6944838e78ce343d3596ac8c370cc6dc122d2ede66ec2afce7ffaa9dc635ed23146ad
|
7
|
+
data.tar.gz: 2943c3779a404ff67f64f6c38001c9de828f3f536c79da1663b02dad0f4c6b20fa36fcd0e4310cbffda48dc4db6c329d09c5e7c48d93e62dc53a157b86e75eef
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.8.
|
1
|
+
0.8.3
|
@@ -290,6 +290,7 @@ module RESTFramework::BaseModelControllerMixin
|
|
290
290
|
return super().merge(
|
291
291
|
{
|
292
292
|
fields: self.get_fields_metadata,
|
293
|
+
callbacks: self._process_action_callbacks.as_json,
|
293
294
|
},
|
294
295
|
)
|
295
296
|
end
|
@@ -297,7 +298,7 @@ module RESTFramework::BaseModelControllerMixin
|
|
297
298
|
def setup_delegation
|
298
299
|
# Delegate extra actions.
|
299
300
|
self.extra_actions&.each do |action, config|
|
300
|
-
next unless config.is_a?(Hash) && config
|
301
|
+
next unless config.is_a?(Hash) && config.dig(:metadata, :delegate)
|
301
302
|
next unless self.get_model.respond_to?(action)
|
302
303
|
|
303
304
|
self.define_method(action) do
|
@@ -313,7 +314,7 @@ module RESTFramework::BaseModelControllerMixin
|
|
313
314
|
|
314
315
|
# Delegate extra member actions.
|
315
316
|
self.extra_member_actions&.each do |action, config|
|
316
|
-
next unless config.is_a?(Hash) && config
|
317
|
+
next unless config.is_a?(Hash) && config.dig(:metadata, :delegate)
|
317
318
|
next unless self.get_model.method_defined?(action)
|
318
319
|
|
319
320
|
self.define_method(action) do
|
data/lib/rest_framework/utils.rb
CHANGED
@@ -16,15 +16,14 @@ module RESTFramework::Utils
|
|
16
16
|
v = v.symbolize_keys
|
17
17
|
methods = v.delete(:methods)
|
18
18
|
|
19
|
-
# First, remove
|
20
|
-
|
21
|
-
fields = v.delete(:fields)
|
19
|
+
# First, remove the route metadata.
|
20
|
+
metadata = v.delete(:metadata) || {}
|
22
21
|
|
23
22
|
# Add label to fields.
|
24
|
-
if controller && fields
|
25
|
-
fields = fields.map { |f| [f, {}] }.to_h if f.is_a?(Array)
|
26
|
-
fields&.each do |field, cfg|
|
27
|
-
cfg[:label] = controller.get_label(field)
|
23
|
+
if controller && metadata[:fields]
|
24
|
+
metadata[:fields] = metadata[:fields].map { |f| [f, {}] }.to_h if f.is_a?(Array)
|
25
|
+
metadata[:fields]&.each do |field, cfg|
|
26
|
+
cfg[:label] = controller.get_label(field) unless cfg[:label]
|
28
27
|
end
|
29
28
|
end
|
30
29
|
|
@@ -47,8 +46,7 @@ module RESTFramework::Utils
|
|
47
46
|
path: path,
|
48
47
|
methods: methods,
|
49
48
|
kwargs: kwargs,
|
50
|
-
|
51
|
-
fields: fields,
|
49
|
+
metadata: metadata.presence,
|
52
50
|
type: :extra,
|
53
51
|
}.compact,
|
54
52
|
]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rest_framework
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gregory N. Schmit
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|