Module: SimplySerializable::Mixin
- Defined in:
- lib/simply_serializable/mixin.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
- #serializable_id ⇒ Object
- #serializable_type ⇒ Object
- #serialize(cache: {}) ⇒ Object
- #serializer(cache: {}) ⇒ Object
Class Method Details
.included(base) ⇒ Object
33 34 35 36 |
# File 'lib/simply_serializable/mixin.rb', line 33 def self.included(base) base.include(Fingerprintable::Mixin) base.extend(ClassMethods) end |
Instance Method Details
#serializable_id ⇒ Object
51 52 53 |
# File 'lib/simply_serializable/mixin.rb', line 51 def serializable_id "#{serializable_type}/#{fingerprint}" end |
#serializable_type ⇒ Object
55 56 57 |
# File 'lib/simply_serializable/mixin.rb', line 55 def serializable_type self.class.name end |
#serialize(cache: {}) ⇒ Object
38 39 40 |
# File 'lib/simply_serializable/mixin.rb', line 38 def serialize(cache: {}) serializer(cache: cache).serialize end |
#serializer(cache: {}) ⇒ Object
42 43 44 45 46 47 48 49 |
# File 'lib/simply_serializable/mixin.rb', line 42 def serializer(cache: {}) Serializer.new( **self.class.serializable_config.merge( cache: cache, object: self ) ) end |