Sha256: 63c5840c4dd8f23b33da4cbfd143572f0f542807a2102f450d0ff10314127ef9

Contents?: true

Size: 755 Bytes

Versions: 41

Compression:

Stored size: 755 Bytes

Contents

# frozen_string_literal: true

module I18n::Tasks
  module Stats
    def forest_stats(forest)
      key_count = forest.leaves.count
      locale_count = forest.count
      if key_count.zero?
        { key_count: 0 }
      else
        {
          locales: forest.map(&:key).join(', '),
          key_count: key_count,
          locale_count: locale_count,
          per_locale_avg: forest.inject(0) { |sum, f| sum + f.leaves.count } / locale_count,
          key_segments_avg: format(
            '%.1f', forest.leaves.inject(0) { |sum, node| sum + node.walk_to_root.count - 1 } / key_count.to_f
          ),
          value_chars_avg: forest.leaves.inject(0) { |sum, node| sum + node.value.to_s.length } / key_count
        }
      end
    end
  end
end

Version data entries

41 entries across 41 versions & 3 rubygems

Version Path
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/i18n-tasks-1.0.14/lib/i18n/tasks/stats.rb
i18n-tasks-1.0.13 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.12 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.11 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.10 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.9 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.8 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.7 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.6 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.5 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.4 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.3 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.2 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.1 lib/i18n/tasks/stats.rb
i18n-tasks-1.0.0 lib/i18n/tasks/stats.rb
i18n-youdao-tasks-0.9.37 lib/i18n/tasks/stats.rb
i18n-tasks-0.9.37 lib/i18n/tasks/stats.rb
i18n-tasks-0.9.36 lib/i18n/tasks/stats.rb
i18n-tasks-0.9.35 lib/i18n/tasks/stats.rb
i18n-tasks-0.9.34 lib/i18n/tasks/stats.rb