Как использовать методы HTTParty в подклассе? - PullRequest
0 голосов
/ 12 февраля 2010

Я пытаюсь написать API-оболочку на Ruby, и я озадачен тем, как я могу вызывать методы HTTParty из подкласса.

Я хочу, чтобы пользователь создал соединение с API, а затем мог запрашивать результаты из подклассов.

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

1 Ответ

3 голосов
/ 13 февраля 2010

all() - это метод экземпляра, а не метод класса, но вы вызываете его как метод класса. Попробуйте это так:

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