Sha256: a3dd1ca604b95ba18bb61ec5251d5c05cee3d27e71142bec377474d7beb197bd

Contents?: true

Size: 687 Bytes

Versions: 2

Compression:

Stored size: 687 Bytes

Contents

# frozen_string_literals: true

module Lumberjack
  class Formatter
    # Format a Date, Time, or DateTime object. If you don't specify a format in the constructor,
    # it will use the ISO-8601 format.
    class DateTimeFormatter
      attr_reader :format

      # @param [String] format The format to use when formatting the date/time object.
      def initialize(format = nil)
        @format = format.dup.to_s.freeze unless format.nil?
      end

      def call(obj)
        if @format && obj.respond_to?(:strftime)
          obj.strftime(@format)
        elsif obj.respond_to?(:iso8601)
          obj.iso8601
        else
          obj.to_s
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
honeybadger-5.3.0 vendor/bundle/ruby/3.2.0/gems/lumberjack-1.2.9/lib/lumberjack/formatter/date_time_formatter.rb
lumberjack-1.2.9 lib/lumberjack/formatter/date_time_formatter.rb