I'm using a Ruby Component inside an Audio Application Environment. This Ruby Component is represented by an instance of a RubyEdit
class. This provide the interface between my Ruby code and the Environment.
For example if I write self
it outputs the instance of the RubyEdit class that represents that component:
the nice things is that I can/must "implement/extend" some methods that RubyEdit
will call when it get some events. I can define my custom method event
for that instance:
def event
# my own event code
end
and it will be called when the Environment get some events outside this Ruby Component. Or I can call a class method
called redraw
, and it will call my custom method draw
:
def draw
# my own draw code (this will called after invoking redraw from Ruby Component)
end
I need to understand some hierarchy of this process, so I'm making a simulation of that RubyEdit
class in Ruby.
How it will looks? I mean: how can I provide methods that will be defined "later"?
This is how RubyEdit will look I think:
class RubyEdit
def self.redraw
# calling this class method should invoke my extended draw method
end
def draw
end
def event
end
end
but I don't understand how to place event
and draw
methods extendible. Interfaces?