Jano Svitok
1/8/2007 9:37:00 AM
On 1/8/07, Krekna Mektek <krekna@gmail.com> wrote:
> Hi,
>
> What is the OO way to do this?
>
>
> I've got a front-end script:
>
> front.rb which calls site.rb
>
> in site.rb there is a method1 and method2.
>
> method1 creates a directory (the name is based on some other info) and
> this directoryname is needed in method2.
>
>
> in front.rb I do this:
>
> I create the site object and then call:
> site.method1 (new dir is created)
> site.method2 (do some things in this directory)
>
>
> So, the first method is like:
>
> def method1
>
> ...
> new_dir = [...magic code..]
> ...
> end
>
>
> def method2
> ...
> get_files = @basedir + new_dir
> ...
> end
>
> But, this new_dir variable is not known in method2.
>
> * Do I need to return this new_dir variable from method1, and call the
> other method with new_dir as argument like site.method2(new_dir) ?
>
> * Do I have to make from new_dir a class variable? (the way I have it now)
>
> * Is there another way to do this?
I'd say, the first two options are most usual. If you don't need the
var anywhere else, I'd use the first option. In other words, it
depends on the relationship of site object to the created directory.
If they are close enough, you can make it an instance variable
(@new_dir). Other possibility is to create a helper class SiteDir with
methods create and get_files, and @new_dir.