2010-02-12 5 views
0

J'essaye d'écrire un emballage d'API dans Ruby et suis perplexe sur comment je peux appeler des méthodes HTTParty d'une sous-classe.Comment utiliser les méthodes HTTParty dans une sous-classe?

Je souhaite que l'utilisateur crée une connexion à l'API et puisse ensuite interroger les résultats des sous-classes.

module ApiWrapper 
    class Connection 
    include HTTParty 
    base_uri '...' 

    def initialize(u, p) 
     ... 
    end 

    def contacts 
     ApiWrapper::Contact 
    end 
    end 
end 

module ApiWrapper 
    class Contact 
    def all 
     # issue httparty get request here that is created from the Connection class 
    end 
    end 
end 


## The user would do this 
conn = ApiWrapper::Connection.new('username', 'password') 
contacts = conn.contacts.all 

Répondre

3

all() est une méthode d'instance, et non pas une méthode de classe, mais vous l'appeler comme une méthode de classe. Essayez-le comme ceci:

module ApiWrapper 
    class Contact 
    def self.all 
     # issue httparty get request here that is created from the Connection class 
    end 
    end 
end 
Questions connexes