module LunaPark::Extensions::Serializable::ClassMethods
Public Instance Methods
serializable_attributes(*names)
click to toggle source
Describe methods list that will be used for serialization via `#to_h` and `#serialize` methods
# File lib/luna_park/extensions/serializable.rb, line 32 def serializable_attributes(*names) raise 'No attributes given' if names.compact.empty? @serializable_attributes_list ||= [] @serializable_attributes_list |= names end
serializable_attributes_list()
click to toggle source
List of methods that will be used for serialization via `#to_h` and `#serialize` methods
# File lib/luna_park/extensions/serializable.rb, line 41 def serializable_attributes_list return @serializable_attributes_list if @serializable_attributes_list raise Errors::NotConfigured, "You must set at least one serializable attribute using #{self}.serializable_attributes(*names)" end
Private Instance Methods
inherited(child)
click to toggle source
Calls superclass method
# File lib/luna_park/extensions/serializable.rb, line 50 def inherited(child) super child.instance_variable_set(:@serializable_attributes_list, @serializable_attributes_list&.dup) end