Sha256: f7561066d5e3de6f9c10f6650084b4be26c2edebf56a45b0d95daf714293d4c2

Contents?: true

Size: 829 Bytes

Versions: 7

Compression:

Stored size: 829 Bytes

Contents

class Team
  attr_accessor :name, :number, :players

  TEAMS = { "blue" => 1, "red" => 2, "yell" => 3, "gren" => 4, "spec" => 5 }.freeze

  def initialize(name)
    @name = build_name(name)
    @number = TEAMS[name] || 5
    @players = []
  end

  def enlist(player)
    @players << player
  end

  def to_embed_field
    Discordrb::Webhooks::EmbedField.new(inline: true, name: field_name, value: player_list)
  end

  private

    def field_name
      return "#{@name}" unless playing?
      "#{@name} | #{score}"
    end

    def playing?
      (1..4).include?(@number)
    end

    def player_list
      players.map(&:to_row).join("\n")
    end

    def score
      return nil if @name == "Spec"
      @players.first.score
    end

    def build_name(name)
      return name.capitalize if TEAMS[name]
      "Spec"
    end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
qwtf_discord_bot-1.0.4 lib/team.rb
qwtf_discord_bot-1.0.3 lib/team.rb
qwtf_discord_bot-1.0.2 lib/team.rb
qwtf_discord_bot-1.0.1 lib/team.rb
qwtf_discord_bot-1.0.0 lib/team.rb
qwtf_discord_bot-0.5.9 lib/team.rb
qwtf_discord_bot-0.5.8 lib/team.rb