module Resas::Api::ClientExt::Connection

Gem 'Faraday' を用いて RESAS API へ接続する機能を格納するモジュール

Private Instance Methods

connection( parse_json:, generate_instance: ) click to toggle source

@return [Faraday::Connection]

# File lib/resas/api/client_ext/connection.rb, line 21
def connection( parse_json:, generate_instance: )
  # @note
  # {https://github.com/lostisland/faraday_middleware/wiki}
  # Important: same as with Rack middleware, the order of middleware on a Faraday stack is significant. General guidelines:
  # 1. put request middleware first, in order of importance;
  # 2. put response middleware second, [in the reverse order of importance];
  # 3. ensure that the adapter is always last.
  Faraday::Connection.new( options_for_connection ) do | con |
    con.request :json

    # URL をエンコードする
    con.use Faraday::Request::UrlEncoded

    # 結果のJSONをパースする
    con.response :json if parse_json

    # アダプターを選択する
    con.adapter( adapter )
  end
end
options_for_connection() click to toggle source

@return [Hash]

# File lib/resas/api/client_ext/connection.rb, line 43
def options_for_connection
  {
    headers: {
      'X-API-KEY' => access_key,
      'Content-Type' => "application/#{ format };charset=UTF-8"
    },
    url: base_endpoint,
  }
end