def current_entry
      Native.sd_journal_restart_data(@ptr)
      results = {}

      while (kvpair = enumerate_helper(:sd_journal_enumerate_data))
        key, value = kvpair
        results[key] = value
        yield(key, value) if block_given?
      end

      JournalEntry.new(
        results,
        realtime_ts:  read_realtime,
        monotonic_ts: read_monotonic
      )
    end
def current_entry
      Native.sd_journal_restart_data(@ptr)
      results = {}

      while (kvpair = enumerate_helper(:sd_journal_enumerate_data))
        key, value = kvpair
        results[key] = value
        yield(key, value) if block_given?
      end

      JournalEntry.new(
        results,
        realtime_ts:  read_realtime,
        monotonic_ts: read_monotonic
      )
    end
Read the contents of all fields from the current journal entry.
 If given a block, it will yield each field in the form of
 `(fieldname, value)`.

 {#move_next} or {#move_previous} must be called at least once after
 initialization or seeking prior to calling {#current_entry}

 @return [Hash] the contents of the current journal entry.
 @example Print all items in the current entry
   j = Systemd::Journal.new
   j.move_next
   j.current_entry{ |field, value| puts "#{field}: #{value}" }