Sha256: ef43a58c7ccc19530fa5cc19f86792bf40a1ab2cbe80a6882e4339aec8b42ffc

Contents?: true

Size: 850 Bytes

Versions: 19

Compression:

Stored size: 850 Bytes

Contents

# frozen_string_literal: true

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

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

      # Description of #initialize
      #
      # @param logger [::Logger] describe_logger_here
      # @param method [String] HTTP method
      # @param uri [URI] Target URI
      def initialize(logger, method, uri)
        @logger = logger
        @method = method.to_s.upcase
        @uri = uri
      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} #{uri}`: \"#{message}\""
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
my_api_client-1.2.0 lib/my_api_client/request/logger.rb
my_api_client-1.1.0 lib/my_api_client/request/logger.rb
my_api_client-1.0.0 lib/my_api_client/request/logger.rb
my_api_client-0.27.0 lib/my_api_client/request/logger.rb
my_api_client-0.26.0 lib/my_api_client/request/logger.rb
my_api_client-0.25.0 lib/my_api_client/request/logger.rb
my_api_client-0.24.0 lib/my_api_client/request/logger.rb
my_api_client-0.23.0 lib/my_api_client/request/logger.rb
my_api_client-0.22.0 lib/my_api_client/request/logger.rb
my_api_client-0.21.0 lib/my_api_client/request/logger.rb
my_api_client-0.20.0 lib/my_api_client/request/logger.rb
my_api_client-0.19.0 lib/my_api_client/request/logger.rb
my_api_client-0.18.0 lib/my_api_client/request/logger.rb
my_api_client-0.17.0 lib/my_api_client/request/logger.rb
my_api_client-0.16.1 lib/my_api_client/request/logger.rb
my_api_client-0.16.0 lib/my_api_client/request/logger.rb
my_api_client-0.15.0 lib/my_api_client/request/logger.rb
my_api_client-0.14.0 lib/my_api_client/request/logger.rb
my_api_client-0.14.0.pre lib/my_api_client/request/logger.rb