Module: Lab42::DataClass::Proxy::Memos

Included in:
Lab42::DataClass::Proxy
Defined in:
lib/lab42/data_class/proxy/memos.rb

Instance Method Summary collapse

Instance Method Details

#all_attributesObject



7
8
9
# File 'lib/lab42/data_class/proxy/memos.rb', line 7

def all_attributes
  @__all_attributes__ ||= members&.union(Set.new(derived_attributes.keys))
end

#constraintsObject



11
12
13
# File 'lib/lab42/data_class/proxy/memos.rb', line 11

def constraints
  @__constraints__ ||= Hash.new { |h, k| h[k] = [] }
end

#defaultsObject



15
16
17
# File 'lib/lab42/data_class/proxy/memos.rb', line 15

def defaults
  @__defaults__ ||= {}
end

#derived_attributesObject



19
20
21
# File 'lib/lab42/data_class/proxy/memos.rb', line 19

def derived_attributes
  @__derived_attributes__ ||= {}
end

#membersObject



23
24
25
26
27
# File 'lib/lab42/data_class/proxy/memos.rb', line 23

def members
  @__members__ ||= unless (positionals + defaults.keys).empty?
                     Set.new(positionals + defaults.keys)
                   end
end

#members!Object



29
30
31
# File 'lib/lab42/data_class/proxy/memos.rb', line 29

def members!
  @__members__ = Set.new(positionals + defaults.keys)
end

#positionalsObject



33
34
35
# File 'lib/lab42/data_class/proxy/memos.rb', line 33

def positionals
  @__positionals__ ||= []
end

#setter_attributesObject



41
# File 'lib/lab42/data_class/proxy/memos.rb', line 41

def setter_attributes = @__setter_attributes__ ||= {}

#validationsObject



37
38
39
# File 'lib/lab42/data_class/proxy/memos.rb', line 37

def validations
  @__validations__ ||= []
end