# frozen_string_literal: true module StrikeMe module API class Client attr_reader :version, :connection, :last_response def initialize(**args) @version = args[:version] || 'v1' @connection_args = args.slice(:url, :params, :headers).reverse_merge( url: "https://api.strike.me/#{version}" ) # headers: { # 'Content-Type' => 'application/json', # 'Authorization' => "Bearer #{ENV.fetch('STRIKE_API_KEY')}" # } @connection = Faraday.new(@connection_args) do |builder| builder.request :authorization, 'Bearer', -> { ENV.fetch('STRIKE_API_KEY') } builder.request :json builder.response :json end end #delegate :get, to: :connection def get(...) @last_response = connection.get(...) end end end end