Hola,

Since I see you got a programming background, but you are *just* new
to ruby, I'd suggest you should read some code from guys with IMHO
*very* good ruby coding style. (not mine *g*)

Try to read code from a random advanced ruby library, 
most of your questions about API-Design will be answered!

You can start with one of my favorite libraries: datamapper

https://github.com/datamapper/dm-core

I did not got the point in your code so I cannot help you without a
better description about what you are trying to do ;)

--

Markus

On Fri, Apr 29, 2011 at 02:44:31AM +0900, Ronnie Aa wrote:
> Thanx for your answers. I know: never use global variables ... and no 
> monkey patching ...I'll try.
> 
> I'm programming for sketchup api. My code structure is like this
> 
> module Module
> 
> class Do_this
> def initialize()
> end;end;
> 
> 
> class Do_that
> def initialize()
> end;end;
> 
> 
> 
> #When I want to execute a command I have to add a button in the GUI of 
> Sketchup, like this:
> 
> 
> cmd = UI::Command.new("Do this")  {Module::Do_this.new()}
> UI.menu("Plugins").add_item(cmd)
> 
> end#module
> #-------------------------------------------------------
> So as markus suggested
> 
> class Test
>   def initialize
>     @array = [10,10]
>   end
> 
>   def product
>     @array.inject(1) { |s,v| s *= v }
>   end
> end
> 
> And than run *outside* the class:
> 
> object = Test.new
> object.product  # => 100
> 
> 
> Is in my case impossible: it has to run *inside* a class
> 
> Just did some quick reading about procs, is that an option???
> 
> For extra clearness:
> 
> My class Do_this and my class Do_that both have to use that method..
> They both use the same variable and both have to apply the same 
> operations on that variable (amongst other things of course)..
> 
> 
> Please help
> 
> -- 
> Posted via http://www.ruby-forum.com/.