Sha256: d098161d2f8640cfb5d30ea67ba1c7bf760d1cf3ef53cb7d080ec28e3304e670

Contents?: true

Size: 1.19 KB

Versions: 8

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'

module EhbrsRubyUtils
  module Bga
    class GameStatistics
      class WhatsappFormatter
        class PlayerContent
          acts_as_instance_method
          common_constructor :formatter, :player

          # @return [Hash<String, String>]
          def result
            formatter.ranks.to_h do |rank|
              [rank_label(rank), rank_value(rank)]
            end
          end

          # @param rank [Integer]
          # @return [String]
          def rank_label(rank)
            "#{rank}ยบ"
          end

          # @param rank [Integer]
          # @return [String]
          def rank_value(rank)
            count = 0
            formatter.normal_tables.each do |table|
              count += 1 if table.player_by_id(player.id).if_present(false) do |v|
                              v.rank == rank
                            end
            end
            "#{count} (#{rank_percent(count)}%)"
          end

          # @param count [Integer]
          # @return [String]
          def rank_percent(count)
            (count * 100 / formatter.normal_tables.count).round
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ehbrs_ruby_utils-0.44.3 lib/ehbrs_ruby_utils/bga/game_statistics/whatsapp_formatter/player_content.rb
ehbrs_ruby_utils-0.44.2 lib/ehbrs_ruby_utils/bga/game_statistics/whatsapp_formatter/player_content.rb
ehbrs_ruby_utils-0.44.1 lib/ehbrs_ruby_utils/bga/game_statistics/whatsapp_formatter/player_content.rb
ehbrs_ruby_utils-0.44.0 lib/ehbrs_ruby_utils/bga/game_statistics/whatsapp_formatter/player_content.rb
ehbrs_ruby_utils-0.41.1 lib/ehbrs_ruby_utils/bga/game_statistics/whatsapp_formatter/player_content.rb
ehbrs_ruby_utils-0.41.0 lib/ehbrs_ruby_utils/bga/game_statistics/whatsapp_formatter/player_content.rb
ehbrs_ruby_utils-0.40.0 lib/ehbrs_ruby_utils/bga/game_statistics/whatsapp_formatter/player_content.rb
ehbrs_ruby_utils-0.39.0 lib/ehbrs_ruby_utils/bga/game_statistics/whatsapp_formatter/player_content.rb