[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

module name == class name?

aidy

7/10/2007 5:31:00 PM

Hi,

I use the open-source automated functional test tool: Watir. In each
class I hold methods relating to a specific HTML page. To avoid any
name conflict, I think I should be wrapping each class within a
module. Is it good form to have a module name that equals the class
name.

e.g. module Login
class Login

end
end ?

Thanks

Aidy

3 Answers

Tim Pease

7/11/2007 7:05:00 PM

0

On 7/11/07, aidy.lewis@googlemail.com <aidy.lewis@googlemail.com> wrote:
> Hi,
>
> I use the open-source automated functional test tool: Watir. In each
> class I hold methods relating to a specific HTML page. To avoid any
> name conflict, I think I should be wrapping each class within a
> module. Is it good form to have a module name that equals the class
> name.
>
> e.g. module Login
> class Login
>
> end
> end ?
>

If your Login module only contains one class and nothing else, then
you should remove the module and use only the class. You will still
have the naming conflict if you should want another Login class.

A different approach would be to encapsulate all the classes related
to a particular website in a module.


module MyWebsite
class Login
end

class UserInfo
end

# etc.
end


Blessings,
TwP

aidy

7/11/2007 9:50:00 PM

0

On 11 Jul, 20:04, "Tim Pease" <tim.pe...@gmail.com> wrote:
> On 7/11/07,aidy.le...@googlemail.com <aidy.le...@googlemail.com> wrote:
>
> If your Login module only contains one class and nothing else, then
> you should remove the module and use only the class. You will still
> have the naming conflict if you should want another Login class.
>
> A different approach would be to encapsulate all the classes related
> to a particular website in a module.
>
> module MyWebsite
> class Login
> end
>
> class UserInfo
> end
>
> # etc.
> end
>

Yes, I think this is a very good idea. As I would need only one
require and include.

The one thing I am concerned about is hierarchy. One HTML page does
not inherit another by nature. Should I inherit through a sequence of
actions (i.e. a use-case)? A use-case is not OO - Meyer tells us this.

Should I say:

class Main_Page < Login

Because in the test script the login is an antecedent to the main
page.

I don't like it. I am confused.

Aidy

Tim Pease

7/12/2007 3:08:00 AM

0

On 7/11/07, aidy.lewis@googlemail.com <aidy.lewis@googlemail.com> wrote:
> On 11 Jul, 20:04, "Tim Pease" <tim.pe...@gmail.com> wrote:
> > On 7/11/07,aidy.le...@googlemail.com <aidy.le...@googlemail.com> wrote:
> >
> > If your Login module only contains one class and nothing else, then
> > you should remove the module and use only the class. You will still
> > have the naming conflict if you should want another Login class.
> >
> > A different approach would be to encapsulate all the classes related
> > to a particular website in a module.
> >
> > module MyWebsite
> > class Login
> > end
> >
> > class UserInfo
> > end
> >
> > # etc.
> > end
> >
>
> Yes, I think this is a very good idea. As I would need only one
> require and include.
>
> The one thing I am concerned about is hierarchy. One HTML page does
> not inherit another by nature. Should I inherit through a sequence of
> actions (i.e. a use-case)? A use-case is not OO - Meyer tells us this.
>
> Should I say:
>
> class Main_Page < Login
>
> Because in the test script the login is an antecedent to the main
> page.
>
> I don't like it. I am confused.
>

Unfortunately, I am not a Watir user. Is there a mailing list for the
ruby Watir project?

Have fun with the testing.

Blessings,
TwP