serializer_field_filter 0.0.2 → 0.0.3

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
  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