module Yext::Api::Concerns::FaradayConnection

This module defines methods that set the connection for a Spyke class.

The default connection is to the sandbox or the API based on the value of the configuration sandbox setting.

A class function live_api is provided to allow LiveApi module classes to use the live endpoint.

Public Class Methods

faraday_connection(url) click to toggle source
# File lib/yext/api/concerns/faraday_connection.rb, line 32
def faraday_connection(url)
  Faraday.new(url: url) do |c|
    c.request :json
    c.request :retry,
              max:                 2,
              interval:            0.05,
              interval_randomness: 0.5,
              backoff_factor:      2

    add_middleware(c)

    c.adapter Faraday.default_adapter
  end
end

Private Class Methods

add_middleware(c) click to toggle source
# File lib/yext/api/concerns/faraday_connection.rb, line 49
def add_middleware(c)
  c.use Yext::Api::Utils::Middleware::ResponseParser
  c.use Yext::Api::Utils::Middleware::DefaultParameters
  c.use Yext::Api::Utils::Middleware::ApiRateLimits
  c.use Yext::Api::Utils::Middleware::UriCleanup
end

Public Instance Methods

live_api() click to toggle source
# File lib/yext/api/concerns/faraday_connection.rb, line 26
def live_api
  self.connection = Yext::Api::Concerns::FaradayConnection.faraday_connection("https://live.yext.com/v2")
end