2010-08-30 6 views
3

Je suis autoplating d'un site Web qui ont une page de fonction différente. Je fais des modules différents pour chaque fonction. le problème est que j'ai une page de connexion Login.rb qui a le code ci-dessous: -Portée variable avec différents fichiers ruby ​​

$IE = Watir::IE.new_process 

module Login 

    def Login.login(url) 
    $IE.goto("url") 
    sleep (4) 
    $IE.maximize 
    #$IE.span(:class =>'menuLink', :text =>'Image').click 
    end 
end 

i besoin d'accéder à mes autres méthodes de modules variable $ IE. le problème est que les autres modules qui sont dans un fichier .rb différent ne prennent pas cette variable. aidez-moi comment sholud je déclare ceci afin que je puisse l'utiliser dans tous mes modules à travers différents fichiers.

Répondre

1

Les variables globales doivent être disponibles dans tous les modules et dans tous les fichiers. Vous pouvez placer cette variable globale dans un fichier nommé (par exemple) common.rb et exiger ou charger ce fichier dans tous vos scripts.

Mais vous n'avez pas besoin d'utiliser une variable globale. Vous pouvez tout aussi bien faire quelque chose comme ça et le charger dans tous les fichiers de script dont vous avez besoin.

module Browser 
    def self.ie 
    @ie ||= Watir::IE.new_process 
    end 
end