class SurveyGizmo::Connection

Public Class Methods

delete(route) click to toggle source
# File lib/survey_gizmo/connection.rb, line 18
def delete(route)
  Retriable.retriable(SurveyGizmo.configuration.retriable_params) { connection.delete(route) }
end
get(route) click to toggle source
# File lib/survey_gizmo/connection.rb, line 6
def get(route)
  Retriable.retriable(SurveyGizmo.configuration.retriable_params) { connection.get(route) }
end
post(route, params) click to toggle source
# File lib/survey_gizmo/connection.rb, line 10
def post(route, params)
  Retriable.retriable(SurveyGizmo.configuration.retriable_params) { connection.post(route, params) }
end
put(route, params) click to toggle source
# File lib/survey_gizmo/connection.rb, line 14
def put(route, params)
  Retriable.retriable(SurveyGizmo.configuration.retriable_params) { connection.put(route, params) }
end
reset!() click to toggle source
# File lib/survey_gizmo/connection.rb, line 22
def reset!
  @connection = nil
end

Private Class Methods

connection() click to toggle source
# File lib/survey_gizmo/connection.rb, line 28
def connection
  faraday_options = {
    url: SurveyGizmo.configuration.api_url,
    params: {
      api_token: SurveyGizmo.configuration.api_token,
      api_token_secret: SurveyGizmo.configuration.api_token_secret
    },
    request: {
      timeout: SurveyGizmo.configuration.timeout_seconds,
      open_timeout: SurveyGizmo.configuration.timeout_seconds
    }
  }

  @connection ||= Faraday.new(faraday_options) do |connection|
    connection.request :url_encoded

    connection.response :parse_survey_gizmo_data
    connection.response :json, content_type: /\bjson$/
    connection.response :logger, SurveyGizmo.configuration.logger, bodies: true if SurveyGizmo.configuration.api_debug

    connection.adapter Faraday.default_adapter
  end
end