rails_json_serializer 1.0.0 → 1.1.0

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/serializer/concern.rb +14 -3
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1a107c67b6ae1ccb5ad9abcd8f13b1255e46b07d48726c44b89e2e41186a2bb
4
- data.tar.gz: be454318e55f60ca236b4fbb1ecb9a68fe144e636e13deb43587f94385f7c0cf
3
+ metadata.gz: 1979a6763434dbcb97197b96e8b6d063e57e7a1e1661f73aff7669ad0014d0e3
4
+ data.tar.gz: '0280285eefc66726612611b12df19d190a7ed1421393394a6c669a93ab33fd15'
5
5
  SHA512:
6
- metadata.gz: 7af60e8a27c62b336d31ec574aa5b3321ec7d73e3097c90d4027763f71148dc587d5113c9ae36576ea8869f4908d40145997c657ce2d5f4321fa9695df56128b
7
- data.tar.gz: 4b3e8f9aebd58d53de0dc13688fdfb3d0b8f4ffdf0015d688e8329fc0d50b3dc8d81cc69dda3e16e51c08fbc82fb35fd2755c984cd8de53f9ea0c59650c8cd7c
6
+ metadata.gz: 681b0f1e1b1856859676747640f6829437cc613987ffb1a60939254f4492c1c83bbe49ebb96f8eba764d3b5da8bf47b337c44e2ffe9b0893188d97c3316ff999
7
+ data.tar.gz: 48152e760af615c8ec8b399e7a8a8ea72cdb0d663d85bfac9d242d1df01a4c2c0cba95f0629664e01cb0213c2ce82d321c3cb33ff5ee217b426cc296cc16d0fc
@@ -5,8 +5,8 @@ module Serializer
5
5
 
6
6
  # START MODEL INSTANCE METHODS
7
7
  def clear_serializer_cache
8
- if self.class.const_defined?("#{self.class.name}Serializer")
9
- serializer_klass = "#{self.class.name}Serializer".constantize
8
+ if self.class.const_defined?("SerializerMethods")
9
+ serializer_klass = "#{self.class.name}::SerializerMethods".constantize
10
10
  serializer_klass.public_instance_methods.each do |query_name|
11
11
  cache_key = "#{self.class.name}_____#{query_name}___#{self.id}"
12
12
  Rails.logger.info "Serializer: CLEARING CACHE KEY: #{cache_key}" if Serializer.configuration.debug
@@ -14,7 +14,14 @@ module Serializer
14
14
  end
15
15
  return true
16
16
  else
17
- Rails.logger.info "Serializer: Class #{self.class.name} does not have the serializer module #{self.class.name}Serializer defined." if Serializer.configuration.debug
17
+ if Serializer.configuration.debug
18
+ Rails.logger.info(
19
+ """
20
+ Serializer: Class #{self.class.name} does not have the serializer module #{self.class.name}Serializer defined.
21
+ Nor was it defined on an inheriting class.
22
+ """
23
+ )
24
+ end
18
25
  return nil
19
26
  end
20
27
  end
@@ -98,6 +105,10 @@ module Serializer
98
105
  subclass.send(:extend, serializer_klass::SerializerMethods)
99
106
  # Inject class methods that has queries
100
107
  subclass.send(:extend, serializer_klass)
108
+ # Injecting the Serializer Methods as a namespaced class of the rails class, so we can have
109
+ # access to the list of methods to clear their cache.
110
+ # 'Class Name + Serializer' does not work with inheritence.
111
+ subclass.const_set('SerializerMethods', serializer_klass::SerializerMethods.dup)
101
112
  else
102
113
  Rails.logger.info "Serializer: #{serializer_klass.name} was not a Module as expected" if Serializer.configuration.debug
103
114
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_json_serializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - benjamin.dana.software.dev@gmail.com