Module: SimplySerializable::Mixin::ClassMethods

Defined in:
lib/simply_serializable/mixin.rb

Instance Method Summary collapse

Instance Method Details

#inherited(subclass) ⇒ Object



6
7
8
9
# File 'lib/simply_serializable/mixin.rb', line 6

def inherited(subclass)
  subclass.serializes()
  super(subclass)
end

#serializable_configObject



24
25
26
27
28
29
30
# File 'lib/simply_serializable/mixin.rb', line 24

def serializable_config
  @serializable_config ||= {
    attributes: [],
    except: nil,
    only: nil
  }
end

#serialize(attributes: [], except: nil, only: nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/simply_serializable/mixin.rb', line 11

def serialize(attributes: [], except: nil, only: nil)
  serializable_config[:attributes] = serializable_config[:attributes] |= attributes
  unless except.nil?
    serializable_config[:except] ||= []
    serializable_config[:except] = serializable_config[:except] |= except
  end

  unless only.nil?
    serializable_config[:only] ||= []
    serializable_config[:only] = serializable_config[:only] |= only
  end
end