4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/mongo-hashie/meta_data.rb', line 4
def update_keys
meta_data_wrapper = MetaDataProperties.first(:class_name => self.class.name)
if meta_data_wrapper
updated = false
keys.each do |key|
if not MetaDataProperties.ignored_keys.include?(key) and not meta_data_wrapper.key?(key)
meta_data_wrapper.send("#{key.to_sym}=", self.send(key.to_sym).class.name)
updated = true
end
meta_data_wrapper.save if updated
end
else
properties_used = {:class_name => self.class.name}
keys.each do |key|
properties_used[key] = self.send(key.to_sym).class.name unless MetaDataProperties.ignored_keys.include?(key)
end
MetaDataProperties.create(properties_used)
end
end
|