Class: RailsSorbetEnum::Serializer
- Inherits:
-
Object
- Object
- RailsSorbetEnum::Serializer
- Extended by:
- T::Sig
- Defined in:
- lib/rails_sorbet_enum/serializer.rb
Instance Method Summary collapse
- #dump(obj) ⇒ Object
-
#initialize(object_class) ⇒ Serializer
constructor
A new instance of Serializer.
- #load(str) ⇒ Object
Constructor Details
#initialize(object_class) ⇒ Serializer
Returns a new instance of Serializer.
9 10 11 |
# File 'lib/rails_sorbet_enum/serializer.rb', line 9 def initialize(object_class) @object_class = object_class end |
Instance Method Details
#dump(obj) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/rails_sorbet_enum/serializer.rb', line 14 def dump(obj) case obj when T::Enum obj.serialize else raise ActiveRecord::SerializationTypeMismatch, "expected #{@object_class.name} and got #{obj.class}" end end |
#load(str) ⇒ Object
25 26 27 28 29 |
# File 'lib/rails_sorbet_enum/serializer.rb', line 25 def load(str) return if str.nil? @object_class.try_deserialize(str) end |