Module: LunaPark::Extensions::Serializable::ClassMethods

Defined in:
lib/luna_park/extensions/serializable.rb

Instance Method Summary collapse

Instance Method Details

#serializable_attributes(*names) ⇒ Object

Describe methods list that will be used for serialization via ‘#to_h` and `#serialize` methods



32
33
34
35
36
37
# 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_listObject

List of methods that will be used for serialization via ‘#to_h` and `#serialize` methods



41
42
43
44
45
46
# 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