I’m building a view hierarchy from a file, and I would like it to add
getter
methods for every subview created. For example, I should be able to
write:
window.bottom_panel.save_button.left = 20
I played around with singleton classes and define_method, am I close? I
wonder
if it is illegal to do ‘class << self end’ within a method - I get the
error
‘class definition in method body’
hierarchy.each do |key, value|
view = Object::const_get( key[1] ).new
class << self end
self.class.class_eval do
define_method( key[1] ) do
return view
end
end
end
I get a syntax error on that; I think you need a semi-colon after
‘self’. However, even with the semi-colon, the expression doesn’t do
anything. (It just opens a class definition block and then closes
it.) Do you want to capture the singleton class? If so, you would
do:
singleton_class = (class << self; self; end)
Inside the block, ‘self’ is the class itself. (And vote for your
local RCR 231
}
}
Does that last bit actually come first?
I haven’t quite grasped what you want to do (due to tiredness, I
think), but maybe the above will help.