rails_json_serializer 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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