Sha256: c7cb9b3c32ec964d80e88f115346b1ec4cb47ec99b8c0ef9d4a4639a948c015e

Contents?: true

Size: 655 Bytes

Versions: 1

Compression:

Stored size: 655 Bytes

Contents

# frozen_string_literal: true

module FtcEvent
  class League
    attr_reader :event
    attr_reader :code

    def initialize(event, code)
      @event = event
      @code = code
    end

    def info
      event.db.query('SELECT * FROM leagueInfo WHERE code = ?', [code])&.first
    end

    def name
      info['name']
    end

    def teams
      result = event.db.query('SELECT team FROM leagueMembers WHERE code = ?', [code])
      result&.map { |row| row['team'] }
    end

    def each_team
      return enum_for(:each_team) unless block_given?

      teams.each do |number|
        yield event.team(number)
      end

      nil
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ftc_event-0.1.0 lib/ftc_event/league.rb