24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/orientdb-ar/relations.rb', line 24
def embedds_many(klass, options = {})
klass = klass_for klass
name = options[:name].to_s || field_name_for(klass, false)
field name, [OrientDB::FIELD_TYPES[:embedded_list], klass.oclass]
class_eval <<-eorb, __FILE__, __LINE__ + 1
def #{name} # def addresses
self[:#{name}] # self[:addresses]
end # end
eorb
class_eval <<-eorb, __FILE__, __LINE__ + 1
def #{name}=(value) # def addresses=(value)
self[:#{name}] # self[:addresses]
end # end
eorb
class_eval <<-eorb, __FILE__, __LINE__ + 1
def add_#{name.singularize}(value) # def add_address(value)
self[:#{name}] ||= [] # self[:addresses] ||= []
self[:#{name}] << value # self[:addresses] << value
#{name} # addresses
end # end
eorb
end
|