serializer_field_filter 0.0.2 → 0.0.3

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: 97e9b91f036f0fc215e4721a2054be7e76846604
4
- data.tar.gz: a4ec84d8dda2de0654db4fd1bbef3d96e310c17c
3
+ metadata.gz: 184cb33042638e7bcd06dfbdde55b2dae97547bf
4
+ data.tar.gz: 8437bdfbf48529ce491e6e624bc53314131e7a56
5
5
  SHA512:
6
- metadata.gz: cea5eb6d17fb23422b4d1377be579353e1a6c4015f41e8d6bb03b535c8053c157f23807896ed6f281821344e88ab869b5e7acea77be22faf6ee0e955d9bcd052
7
- data.tar.gz: e17050e61dd1557ac99eb4cbc9201aad9f3e41662c3ace6af029891fafe3b21f94db77de9c2b3761b24b7a4c49dcff57b0287390d7e34b628fc312c556fe9e90
6
+ metadata.gz: bd0ff76eb12bea71893f9781f0e33adf834f7171d939fc2cb21d74ae8d6dcdbc0dcfd01f44775b600a4333f47a5ab5c0364a757310ee48a53ccbb18a36cf08dc
7
+ data.tar.gz: 65683ec0774551efee892d5b6b645e4ebdce587ce114e4d931c81394dd96767abefa8e0f9ab5147498aa83499f4611b7666ce0dbd135bd1bf2c116e516016b72
@@ -9,9 +9,11 @@ class SerializerFieldFilter
9
9
  resource_method_module = Module.new do
10
10
  define_method resource_name do
11
11
  filter = instance_options[:field_filter]&.scope_of(resource_name)
12
- resource_options = filter.resource_options.merge({
12
+ resource_options = {
13
13
  serializer: serializer,
14
- })
14
+ fields: filter&.root_fields,
15
+ field_filter: filter
16
+ }
15
17
  resources = defined?(super) ? super() : object.send(resource_name)
16
18
  if "#{relation_method_name}" == "has_many"
17
19
  resources.to_a.map do |resource|
@@ -1,3 +1,3 @@
1
1
  class SerializerFieldFilter
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -51,7 +51,7 @@ describe SerializerFieldFilter::Relation do
51
51
  let(:cource) { Cource.new(id: 1, name: "cource", classroom: classroom, teacher: teacher, students: [student_1, student_2])}
52
52
 
53
53
  subject(:json) {
54
- ActiveModelSerializers::SerializableResource.new(cource, filter.resource_options).as_json
54
+ ActiveModelSerializers::SerializableResource.new(cource, filter&.resource_options || {}).as_json
55
55
  }
56
56
 
57
57
  context "with all field" do
@@ -69,6 +69,21 @@ describe SerializerFieldFilter::Relation do
69
69
  }
70
70
  end
71
71
 
72
+ context "with nil" do
73
+ let(:filter) { nil }
74
+ it { should eq({
75
+ id: 1,
76
+ name: 'cource',
77
+ classroom: { id: 1, name: 'classroom' },
78
+ teacher: { id: 1, name: 'teacher' },
79
+ students: [
80
+ { id: 1, name: 'student' },
81
+ { id: 2, name: 'student' }
82
+ ]
83
+ })
84
+ }
85
+ end
86
+
72
87
  context "with none field" do
73
88
  let(:filter) { SerializerFieldFilter::NoneField.new }
74
89
  it { should eq({})}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serializer_field_filter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franky