Sha256: 6a9172f7a3c96ef755c3ba4e6995b6d6fca06fcea741efd1f5d92c97a7ba3da1

Contents?: true

Size: 663 Bytes

Versions: 1

Compression:

Stored size: 663 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 && 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.1 lib/ftc_event/league.rb