rest_framework 0.7.3 → 0.7.4

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
  SHA256:
3
- metadata.gz: 0343a285f928c169815684c0cbb0176fc1cc1781cb7f4208bb7ea3f756e11f17
4
- data.tar.gz: 683fe62f24ecbeb83441e48b235f1842717722f4a48e861108faa91b6499f105
3
+ metadata.gz: e37d7baf0b2e805e4df451a8ef646e57ed078a7edd3f9d03b524198eef9fc83f
4
+ data.tar.gz: c6f5bf3f8f7bfa79566a1292f7634f94b29a09a934a0179adea6e3320291cb9e
5
5
  SHA512:
6
- metadata.gz: 33ca1398d2585b92741d4c005ae8fa2f88f320945befaf54b099c67882021d3a2357a5bca4cabfe95b31a90357c4cc83f8fad0d94e120db73a6538c3971b081d
7
- data.tar.gz: 86b469abf36473dbecc5a90785b7d185655dc290ae14aa270d5a2019c61a9f3bda170689b9ef7c1983fd8ea918e59b3ec1af072c347baa614fd6c832ce287066
6
+ metadata.gz: 13b7905e307bbc0f204d2570c05298cf9c4bcc025719210c3f496bac64a387f611ec4ab3772f8c268cc41b608973b7d3502cf5542d9fee0cce5587ef80a773cc
7
+ data.tar.gz: 49ef1e4a637fa2f3dee50f40042cdf50a28f68f632a0e5587a339e492954ef90c1f7cd8d80f4b0fb39668838ee020556b29dfd806377e82541b3c4a8940d6b55
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.3
1
+ 0.7.4
@@ -160,9 +160,30 @@ module RESTFramework::BaseModelControllerMixin
160
160
  }.to_h
161
161
  end
162
162
 
163
+ # Get metadata about the resource's associations (reflections).
164
+ def get_associations_metadata
165
+ return self.get_model.reflections.map { |k, v|
166
+ next [k, {
167
+ macro: v.macro,
168
+ label: self.get_label(k),
169
+ class_name: v.class_name,
170
+ foreign_key: v.foreign_key,
171
+ primary_key: v.active_record_primary_key,
172
+ polymorphic: v.polymorphic?,
173
+ table_name: v.table_name,
174
+ options: v.options,
175
+ }.compact]
176
+ }.to_h
177
+ end
178
+
163
179
  # Get a hash of metadata to be rendered in the `OPTIONS` response. Cache the result.
164
180
  def get_options_metadata(fields: nil)
165
- return super().merge({fields: self.get_fields_metadata(fields: fields)})
181
+ return super().merge(
182
+ {
183
+ fields: self.get_fields_metadata(fields: fields),
184
+ associations: self.get_associations_metadata,
185
+ },
186
+ )
166
187
  end
167
188
 
168
189
  def setup_delegation
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.7.3
4
+ version: 0.7.4
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-06 00:00:00.000000000 Z
11
+ date: 2023-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails