lib/ukemi/moderator.rb in ukemi-0.4.0 vs lib/ukemi/moderator.rb in ukemi-0.4.1

- old
+ new

@@ -26,17 +26,17 @@ records.each do |record| memo[record.data] << { first_seen: record.first_seen, last_seen: record.last_seen, - source: record.source, + source: record.source } end # Merge first seen last seen and make the sources a list. formatted = memo.map do |key, sources| - first_seens = sources.map { |record| convert_to_unixtime record.dig(:first_seen) }.compact - last_seens = sources.map { |record| convert_to_unixtime record.dig(:last_seen) }.compact + first_seens = sources.filter_map { |record| convert_to_unixtime record[:first_seen] } + last_seens = sources.filter_map { |record| convert_to_unixtime record[:last_seen] } [ key, { first_seen: convert_to_date(first_seens.min), last_seen: convert_to_date(last_seens.max), @@ -47,10 +47,10 @@ # Sorting ordering_key = Ukemi.configuration.ordering_key.to_sym sort_order = Ukemi.configuration.sort_order formatted.sort_by do |_key, hash| - value = hash.dig(ordering_key) + value = hash[ordering_key] if sort_order == "DESC" value ? -convert_to_unixtime(value) : -1 else value ? convert_to_unixtime(value) : Float::MAX.to_i end