Commit 7ba89cc04b95d6587c1b301b0999f4b12114d9d4
- Date: Tue Apr 29 20:23:11 +0000 2008
- Committer: Yurii Rashkovskii (yrashk@gmail.com)
- Author: Yurii Rashkovskii (yrashk@gmail.com)
- Commit SHA1: 7ba89cc04b95d6587c1b301b0999f4b12114d9d4
- Tree SHA1: cf3a06dda946bb03ff966d6bfcb5752fc0d4ff1d
Meta#+ support modulized metas now
Commit diff
| |   |
| 86 | 86 | new_meta.module_eval do |
| 87 | 87 | extend Meta |
| 88 | 88 | end |
| 89 | | new_meta_name = new_meta.instance_variable_get(:@metas).map{|m| m.name}.join('__') |
| 90 | | Object.send(:remove_const, new_meta_name) rescue nil |
| 91 | | Object.const_set(new_meta_name, new_meta) |
| 89 | new_meta_name = new_meta.instance_variable_get(:@metas).map{|m| m.name.demodulize}.join('__') |
| 90 | mod = self.name.modulize.constantize rescue Object |
| 91 | mod.send(:remove_const, new_meta_name) rescue nil |
| 92 | mod.const_set(new_meta_name, new_meta) |
| 92 | 93 | new_meta |
| 93 | 94 | elsif is_a?(Document) && meta.is_a?(Document) |
| 94 | 95 | (Document.new(store, self.to_raw.except('uuid','version','previous_version'), true) + |
| toggle raw diff |
--- a/lib/strokedb/document/meta.rb
+++ b/lib/strokedb/document/meta.rb
@@ -86,9 +86,10 @@ module StrokeDB
new_meta.module_eval do
extend Meta
end
- new_meta_name = new_meta.instance_variable_get(:@metas).map{|m| m.name}.join('__')
- Object.send(:remove_const, new_meta_name) rescue nil
- Object.const_set(new_meta_name, new_meta)
+ new_meta_name = new_meta.instance_variable_get(:@metas).map{|m| m.name.demodulize}.join('__')
+ mod = self.name.modulize.constantize rescue Object
+ mod.send(:remove_const, new_meta_name) rescue nil
+ mod.const_set(new_meta_name, new_meta)
new_meta
elsif is_a?(Document) && meta.is_a?(Document)
(Document.new(store, self.to_raw.except('uuid','version','previous_version'), true) + |