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