lib/i18n/tasks/reports/base.rb in i18n-tasks-0.9.2 vs lib/i18n/tasks/reports/base.rb in i18n-tasks-0.9.3
- old
+ new
@@ -1,5 +1,6 @@
+# frozen_string_literal: true
module I18n::Tasks::Reports
class Base
include I18n::Tasks::Logging
def initialize(task = I18n::Tasks::BaseTask.new)
@@ -25,14 +26,12 @@
def eq_base_title(key_values, locale = base_locale)
"Same value as #{locale} (#{key_values.count || '∅'})"
end
- def used_title(used_tree)
- leaves = used_tree.leaves.to_a
- filter = used_tree.first.root.data[:key_filter]
- used_n = leaves.map { |node| node.data[:occurrences].size }.reduce(:+).to_i
- "#{leaves.length} key#{'s' if leaves.size != 1}#{" matching '#{filter}'" if filter}#{" (#{used_n} usage#{'s' if used_n != 1})" if used_n > 0}"
+ def used_title(keys_nodes, filter)
+ used_n = keys_nodes.map { |_k, node| node.data[:occurrences].size }.reduce(:+).to_i
+ "#{keys_nodes.size} key#{'s' if keys_nodes.size != 1}#{" matching '#{filter}'" if filter}#{" (#{used_n} usage#{'s' if used_n != 1})" if used_n > 0}"
end
# Sort keys by their attributes in order
# @param [Hash] order e.g. {locale: :asc, type: :desc, key: :asc}
def sort_by_attr!(objects, order = {locale: :asc, key: :asc})