Sha256: 1df92cef515afd723c8f5cf65e0ce194c79d305998a6b7ea37a1400d4e27a2d6

Contents?: true

Size: 914 Bytes

Versions: 27

Compression:

Stored size: 914 Bytes

Contents

# frozen_string_literal: true

module MyApiClient
  # Description of Logger
  class Logger
    attr_reader :logger, :method, :pathname

    LOG_LEVEL = %i[debug info warn error fatal].freeze

    # Description of #initialize
    #
    # @param logger [::Logger] describe_logger_here
    # @param faraday [Faraday::Connection] describe_faraday_here
    # @param method [String] HTTP method
    # @param pathname [String] The path name
    def initialize(logger, faraday, method, pathname)
      @logger = logger
      @method = method.to_s.upcase
      @pathname = faraday.build_exclusive_url(pathname)
    end

    LOG_LEVEL.each do |level|
      class_eval <<~METHOD, __FILE__, __LINE__ + 1
        def #{level}(message)
          logger.#{level}(format(message))
        end
      METHOD
    end

    private

    def format(message)
      "API request `#{method} #{pathname}`: \"#{message}\""
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
my_api_client-0.13.0 lib/my_api_client/logger.rb
my_api_client-0.12.0 lib/my_api_client/logger.rb
my_api_client-0.11.0 lib/my_api_client/logger.rb
my_api_client-0.10.3 lib/my_api_client/logger.rb
my_api_client-0.10.2 lib/my_api_client/logger.rb
my_api_client-0.10.1 lib/my_api_client/logger.rb
my_api_client-0.10.0 lib/my_api_client/logger.rb
my_api_client-0.9.2 lib/my_api_client/logger.rb
my_api_client-0.9.1 lib/my_api_client/logger.rb
my_api_client-0.9.0 lib/my_api_client/logger.rb
my_api_client-0.8.0 lib/my_api_client/logger.rb
my_api_client-0.7.0 lib/my_api_client/logger.rb
my_api_client-0.6.2 lib/my_api_client/logger.rb
my_api_client-0.6.1 lib/my_api_client/logger.rb
my_api_client-0.6.0 lib/my_api_client/logger.rb
my_api_client-0.5.3 lib/my_api_client/logger.rb
my_api_client-0.5.2 lib/my_api_client/logger.rb
my_api_client-0.5.1 lib/my_api_client/logger.rb
my_api_client-0.5.0 lib/my_api_client/logger.rb
my_api_client-0.4.0 lib/my_api_client/logger.rb