userializer 0.3.0 → 0.3.1

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
  SHA256:
3
- metadata.gz: f3ef32ea4a17b463844f6c5f59453e206253c59c21735ea9aa6e97c353db2c3d
4
- data.tar.gz: 77c4cdcba82ef5a5470da04db24e2984ae7754d8ba25593c0097470f3c0fdf65
3
+ metadata.gz: c60edc59f0b2c8635bec13e771422371ec92bf1eb696957321cea2cd56d14161
4
+ data.tar.gz: 1d7b6365abd81700080e4d63c0995dcca6ff3a24047e22596ea954dd73c4db50
5
5
  SHA512:
6
- metadata.gz: 4e48196e2d4264d655eb4da209e7635c56f4849eac2e977522379f358ccf7969cd6189bf3fe5675a721ef3ac9f2e89392099541189ef97f503a1ed1c0ea94f4f
7
- data.tar.gz: d8a897a3e951c27488e700fb1f80385501367088219ab7b24505f1a7420b478f5171734f4641d319c9b8d9bf2a119407a8f2012c1bf4d5e6926709b33c99c7db
6
+ metadata.gz: 7339df9d80d2fcad0b5fe7504b9df90c99d8eb2be1d36886a21c4efbd89b793bb37bd3b464b62aa97af05ae68815e6460e0b7e72fdc99e67d5a8387caf828fd9
7
+ data.tar.gz: '01383c0f9f6e9b0290d25ac88042bd21465d4d10818c38d1c9c37d4f4ec49e64172506744551c0f4720d65a543467149450b4aad46a0ca7d8f9a6f736bf756d6'
@@ -6,7 +6,7 @@ module USerializer
6
6
  @key = key
7
7
 
8
8
  @opts = opts
9
- @id_key = "#{ActiveSupport::Inflector.singularize(key)}_ids".to_sym
9
+ @ids_key = opts[:ids_key] || build_ids_key(key)
10
10
 
11
11
  @embed_key = opts[:embed_key] || :id
12
12
  @conditional_block = opts[:if] || proc { true }
@@ -15,7 +15,7 @@ module USerializer
15
15
  def merge_attributes(res, ser, opts)
16
16
  return unless @conditional_block.call(ser.object, opts)
17
17
 
18
- res[@id_key] = (entities(ser) || []).compact.map do |obj|
18
+ res[@ids_key] = (entities(ser) || []).compact.map do |obj|
19
19
  obj.nil? ? nil : obj.send(@embed_key)
20
20
  end.compact
21
21
  end
@@ -34,5 +34,11 @@ module USerializer
34
34
 
35
35
  obj.send(@opts[:scope])
36
36
  end
37
+
38
+ private
39
+
40
+ def build_ids_key(key)
41
+ "#{ActiveSupport::Inflector.singularize(key)}_ids".to_sym
42
+ end
37
43
  end
38
44
  end
@@ -3,7 +3,7 @@ module USerializer
3
3
  def initialize(key, opts)
4
4
  @key = key
5
5
  @opts = opts
6
- @id_key = "#{key}_id".to_sym
6
+ @id_key = opts[:id_key] || "#{key}_id".to_sym
7
7
  @root_key = opts[:root]&.to_sym
8
8
 
9
9
  serializer = opts[:serializer]
@@ -1,3 +1,3 @@
1
1
  module USerializer
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: userializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexis Montagne
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-05-10 00:00:00.000000000 Z
11
+ date: 2021-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler