Pregunta

Estoy tratando de acceder a un servicio que utiliza el formato URL. www.example.com/api/api_key/action

El siguiente código es un pequeño ejemplo de lo que estoy tratando de lograr.

require 'httparty'

class MyAPI
  include HTTParty
  debug_output $stdout

  base_uri "example.com/api/#{@api_key}"

  def initialize(api_key)
     @api_key = api_key
  end

  def statistics
    return self.class.get("/statistics")
  end
end

La solicitud del servidor:

MyAPI.new('apikey').statistics

sale como

GET /api//statistics

Sabía que era optimista, pero puse la variable API_KEY en el base_uri. ¿Cómo lo hago para que la URL use el Dynamic API_Key?

¿Fue útil?

Solución

Le falta un método de lector para @api_key.

Agregue lo siguiente a su clase para permitir la configuración de @api_key después de la inicialización.

attr_accessor :api_key

O agregue para permitir que se lea, pero no se establece más tarde.

attr_reader :api_key
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top