rest_framework 0.6.4 → 0.6.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 +4 -4
- data/VERSION +1 -1
- data/lib/rest_framework/controller_mixins/base.rb +6 -0
- data/lib/rest_framework/controller_mixins/models.rb +10 -5
- data/lib/rest_framework/serializers.rb +0 -15
- 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: 68ebf30c14f9f70796c6963505e7b45421ee838d076784073505feb9b05c3ddb
|
4
|
+
data.tar.gz: 71918c4b2b2eeaed10833d84cb54f6bbb860ea3205895bc75abf9a543d0bedc9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d909e86567107d2565a65e9c99f67b771e462a2bd9dae04289c9846cc0ba68bfe3728b63d1b8a154c532e7a5cb1aeac1f593401a98bbc0b1f405f474aabb8527
|
7
|
+
data.tar.gz: abe06a65bb999c4926e6a54295afc4c55e254fba1276b0257eb2af765bbc3f367fe5ebc5d9fe1d6181c45157369440de13a7f4aed331a49271426d2468110a99
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.6.
|
1
|
+
0.6.5
|
@@ -90,6 +90,12 @@ module RESTFramework::BaseControllerMixin
|
|
90
90
|
def get_serializer_class
|
91
91
|
return nil unless serializer_class = self.class.serializer_class
|
92
92
|
|
93
|
+
# Support dynamically resolving serializer given a symbol or string.
|
94
|
+
serializer_class = serializer_class.to_s if serializer_class.is_a?(Symbol)
|
95
|
+
if serializer_class.is_a?(String)
|
96
|
+
serializer_class = self.class.const_get(serializer_class)
|
97
|
+
end
|
98
|
+
|
93
99
|
# Wrap it with an adapter if it's an active_model_serializer.
|
94
100
|
if defined?(ActiveModel::Serializer) && (serializer_class < ActiveModel::Serializer)
|
95
101
|
serializer_class = RESTFramework::ActiveModelSerializerAdapterFactory.for(serializer_class)
|
@@ -114,6 +114,11 @@ module RESTFramework::BaseModelControllerMixin
|
|
114
114
|
return super || RESTFramework::NativeSerializer
|
115
115
|
end
|
116
116
|
|
117
|
+
# Helper to serialize data using the `serializer_class`.
|
118
|
+
def serialize(data, **kwargs)
|
119
|
+
return self.get_serializer_class.new(data, controller: self, **kwargs).serialize
|
120
|
+
end
|
121
|
+
|
117
122
|
# Helper to get filtering backends, defaulting to using `ModelFilter` and `ModelOrderingFilter`.
|
118
123
|
def get_filter_backends
|
119
124
|
return self.class.filter_backends || [
|
@@ -232,10 +237,10 @@ module RESTFramework::ListModelMixin
|
|
232
237
|
if self.class.paginator_class
|
233
238
|
paginator = self.class.paginator_class.new(data: @records, controller: self)
|
234
239
|
page = paginator.get_page
|
235
|
-
serialized_page = self.
|
240
|
+
serialized_page = self.serialize(page)
|
236
241
|
return paginator.get_paginated_response(serialized_page)
|
237
242
|
else
|
238
|
-
return self.
|
243
|
+
return self.serialize(@records)
|
239
244
|
end
|
240
245
|
end
|
241
246
|
end
|
@@ -248,7 +253,7 @@ module RESTFramework::ShowModelMixin
|
|
248
253
|
|
249
254
|
def show!
|
250
255
|
@record ||= self.get_record
|
251
|
-
return self.
|
256
|
+
return self.serialize(@record)
|
252
257
|
end
|
253
258
|
end
|
254
259
|
|
@@ -269,7 +274,7 @@ module RESTFramework::CreateModelMixin
|
|
269
274
|
@record ||= self.get_model.create!(self.get_create_params)
|
270
275
|
end
|
271
276
|
|
272
|
-
return self.
|
277
|
+
return self.serialize(@record)
|
273
278
|
end
|
274
279
|
end
|
275
280
|
|
@@ -282,7 +287,7 @@ module RESTFramework::UpdateModelMixin
|
|
282
287
|
def update!
|
283
288
|
@record ||= self.get_record
|
284
289
|
@record.update!(self.get_update_params)
|
285
|
-
return self.
|
290
|
+
return self.serialize(@record)
|
286
291
|
end
|
287
292
|
end
|
288
293
|
|
@@ -282,21 +282,6 @@ class RESTFramework::NativeSerializer < RESTFramework::BaseSerializer
|
|
282
282
|
end
|
283
283
|
end
|
284
284
|
|
285
|
-
# :nocov:
|
286
|
-
# Alias NativeModelSerializer -> NativeSerializer.
|
287
|
-
class RESTFramework::NativeModelSerializer < RESTFramework::NativeSerializer
|
288
|
-
def initialize(**kwargs)
|
289
|
-
super
|
290
|
-
ActiveSupport::Deprecation.warn(
|
291
|
-
<<~MSG.split("\n").join(" "),
|
292
|
-
RESTFramework::NativeModelSerializer is deprecated and will be removed in future versions of
|
293
|
-
REST Framework; you should use RESTFramework::NativeSerializer instead.
|
294
|
-
MSG
|
295
|
-
)
|
296
|
-
end
|
297
|
-
end
|
298
|
-
# :nocov:
|
299
|
-
|
300
285
|
# This is a helper factory to wrap an ActiveModelSerializer to provide a `serialize` method which
|
301
286
|
# accepts both collections and individual records. Use `.for` to build adapters.
|
302
287
|
class RESTFramework::ActiveModelSerializerAdapterFactory
|
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.6.
|
4
|
+
version: 0.6.5
|
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: 2022-
|
11
|
+
date: 2022-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|