Module name == class name?

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

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

···

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 ?

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

···

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

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

Have fun with the testing.

Blessings,
TwP

···

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.