Module: Modelling::ClassMethods

Defined in:
lib/modelling.rb

Instance Method Summary collapse

Instance Method Details

#accessorsObject



36
37
38
# File 'lib/modelling.rb', line 36

def accessors
  @accessors ||= []
end

#attributes(*args) ⇒ Object



16
17
18
# File 'lib/modelling.rb', line 16

def attributes(*args)
  generate_accessors_from_args(args, Proc.new { nil })
end

#collections(*args) ⇒ Object



20
21
22
# File 'lib/modelling.rb', line 20

def collections(*args)
  generate_accessors_from_args(args, Proc.new { Array.new })
end

#inherited(descendant) ⇒ Object



11
12
13
14
# File 'lib/modelling.rb', line 11

def inherited(descendant)
  descendant.instance_variable_set(:@members, members.dup)
  super
end

#maps(*args) ⇒ Object



24
25
26
# File 'lib/modelling.rb', line 24

def maps(*args)
  generate_accessors_from_args(args, Proc.new { Hash.new })
end

#membersObject



32
33
34
# File 'lib/modelling.rb', line 32

def members
  @members ||= {}
end

#structs(*args) ⇒ Object



28
29
30
# File 'lib/modelling.rb', line 28

def structs(*args)
  generate_accessors_from_args(args, Proc.new { OpenStruct.new })
end