├── log └── .keep ├── storage └── .keep ├── tmp └── .keep ├── vendor └── .keep ├── lib ├── assets │ └── .keep └── tasks │ ├── .keep │ ├── reset_participant_counter_cache.rake │ ├── pilot_init_csv.rake │ ├── export_user_info.rake │ ├── assign_league_promotions.rake │ ├── set_match_winner_type.rake │ ├── redo_bcp_matches.rake │ ├── export_winners.rake │ ├── generate_league_seeding_data.rake │ ├── set_legacy_league_promotion_status.rake │ ├── load_matches_from_lj.rake │ ├── generate_season_seven_matches.rake │ ├── generate_season_seven_seeding_data.rake │ ├── load_participants_from_list_juggler.rake │ ├── calculate_league_scores.rake │ ├── generate_league_matches_s1100.rake │ ├── generate_league_matches_s1000.rake │ ├── update_xwing_data.rake │ └── generate_league_matches.rake ├── test ├── helpers │ └── .keep ├── mailers │ └── .keep ├── models │ ├── .keep │ ├── match_test.rb │ ├── pilot_test.rb │ ├── round_test.rb │ ├── ship_test.rb │ ├── user_test.rb │ ├── address_test.rb │ ├── division_test.rb │ ├── faction_test.rb │ ├── format_test.rb │ ├── season_test.rb │ ├── upgrade_test.rb │ ├── version_test.rb │ ├── league_user_test.rb │ ├── roundtype_test.rb │ ├── tournament_test.rb │ ├── league_match_test.rb │ ├── league_signup_test.rb │ ├── participant_test.rb │ ├── tournament_type_test.rb │ ├── league_match_state_test.rb │ ├── league_participant_test.rb │ └── season_seven_survey_test.rb ├── system │ ├── .keep │ ├── tournaments_test.rb │ ├── participants_test.rb │ ├── league_signups_test.rb │ └── season_seven_surveys_test.rb ├── controllers │ ├── .keep │ ├── me_controller_test.rb │ ├── home_controller_test.rb │ ├── seasons_controller_test.rb │ ├── league_participant_controller_test.rb │ ├── tournaments_controller_test.rb │ ├── participants_controller_test.rb │ ├── league_signups_controller_test.rb │ └── season_seven_surveys_controller_test.rb ├── fixtures │ ├── .keep │ ├── files │ │ └── .keep │ ├── roundtypes.yml │ ├── rounds.yml │ ├── users.yml │ ├── matches.yml │ ├── pilots.yml │ ├── ships.yml │ ├── addresses.yml │ ├── divisions.yml │ ├── factions.yml │ ├── formats.yml │ ├── seasons.yml │ ├── tournaments.yml │ ├── upgrades.yml │ ├── versions.yml │ ├── league_matches.yml │ ├── league_signups.yml │ ├── tournament_types.yml │ ├── league_match_states.yml │ ├── league_participants.yml │ ├── season_seven_surveys.yml │ └── participants.yml ├── integration │ └── .keep ├── application_system_test_case.rb └── test_helper.rb ├── .ruby-version ├── app ├── assets │ ├── images │ │ ├── .keep │ │ └── logo-xw-lrg.png │ ├── javascripts │ │ ├── channels │ │ │ └── .keep │ │ ├── home.coffee │ │ ├── me.coffee │ │ ├── seasons.coffee │ │ ├── league_signups.coffee │ │ ├── participants.coffee │ │ ├── league_participant.coffee │ │ ├── season_seven_surveys.coffee │ │ ├── google_analytics.js.erb │ │ ├── cable.js │ │ └── application.js │ ├── config │ │ └── manifest.js │ └── stylesheets │ │ ├── me.scss │ │ ├── home.scss │ │ ├── seasons.scss │ │ ├── tournaments.scss │ │ ├── participants.scss │ │ ├── league_signups.scss │ │ ├── league_participant.scss │ │ ├── season_seven_surveys.scss │ │ ├── application.scss │ │ ├── fonts │ │ └── LICENSE.txt │ │ └── scaffolds.scss ├── models │ ├── concerns │ │ └── .keep │ ├── upgrade.rb │ ├── roundtype.rb │ ├── league_match.rb │ ├── league_match_state.rb │ ├── address.rb │ ├── faction.rb │ ├── version.rb │ ├── pilot.rb │ ├── tournament_type.rb │ ├── application_record.rb │ ├── ship.rb │ ├── season_seven_survey.rb │ ├── league_signup.rb │ ├── identity.rb │ ├── format.rb │ ├── division.rb │ ├── tournaments │ │ └── forms.rb │ ├── league_participant.rb │ ├── user.rb │ ├── round.rb │ ├── match.rb │ └── season.rb ├── controllers │ ├── concerns │ │ └── .keep │ ├── home_controller.rb │ ├── divisions_controller.rb │ ├── api │ │ └── v1 │ │ │ ├── seasons_controller.rb │ │ │ ├── base_controller.rb │ │ │ └── tournaments_controller.rb │ ├── league_participant_controller.rb │ ├── application_controller.rb │ ├── seasons_controller.rb │ ├── me_controller.rb │ ├── sessions_controller.rb │ └── league_controller.rb ├── helpers │ ├── me_helper.rb │ ├── home_helper.rb │ ├── seasons_helper.rb │ ├── participants_helper.rb │ ├── tournaments_helper.rb │ ├── league_signups_helper.rb │ ├── league_participant_helper.rb │ ├── season_seven_surveys_helper.rb │ └── application_helper.rb ├── views │ ├── home │ │ ├── show.html.erb │ │ └── about.html.erb │ ├── layouts │ │ ├── mailer.text.erb │ │ ├── mailer.html.erb │ │ ├── _google_analytics.html.erb │ │ ├── _navbar.html.erb │ │ └── application.html.erb │ ├── rounds │ │ ├── show.json.jbuilder │ │ ├── index.json.jbuilder │ │ ├── _round.json.jbuilder │ │ ├── edit.html.erb │ │ ├── new.html.erb │ │ ├── index.html.erb │ │ ├── _form.html.erb │ │ └── show.html.erb │ ├── matches │ │ ├── show.json.jbuilder │ │ ├── index.json.jbuilder │ │ ├── _match.json.jbuilder │ │ ├── new.html.erb │ │ ├── show.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── _form.html.erb │ │ └── _leagueform.erb │ ├── tournaments │ │ ├── show.json.jbuilder │ │ ├── index.json.jbuilder │ │ ├── _tournament.json.jbuilder │ │ ├── new.html.erb │ │ ├── edit.html.erb │ │ ├── feed.builder │ │ ├── index.html.erb │ │ ├── _filter.html.erb │ │ └── _form.html.erb │ ├── participants │ │ ├── show.json.jbuilder │ │ ├── index.json.jbuilder │ │ ├── show.html.erb │ │ ├── edit.html.erb │ │ ├── new.html.erb │ │ ├── _participant.json.jbuilder │ │ ├── index.html.erb │ │ └── _form.html.erb │ ├── league_signups │ │ ├── show.json.jbuilder │ │ ├── index.json.jbuilder │ │ ├── new.html.erb │ │ ├── _league_signup.json.jbuilder │ │ ├── show.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ └── _form.html.erb │ ├── season_seven_surveys │ │ ├── show.json.jbuilder │ │ ├── index.json.jbuilder │ │ ├── show.html.erb │ │ ├── _season_seven_survey.json.jbuilder │ │ ├── new.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ └── _form.html.erb │ ├── me │ │ ├── home.html.erb │ │ └── _address_form.html.erb │ ├── league │ │ ├── register.html.erb │ │ └── interdivisional.html.erb │ ├── seasons │ │ ├── index.html.erb │ │ └── show.html.erb │ └── divisions │ │ └── show.html.erb ├── jobs │ └── application_job.rb ├── channels │ └── application_cable │ │ ├── channel.rb │ │ └── connection.rb ├── mailers │ └── application_mailer.rb └── serializers │ └── api │ └── v1 │ ├── season_serializer.rb │ ├── league_participant_serializer.rb │ ├── season_details_serializer.rb │ ├── division_serializer.rb │ ├── base_serializer.rb │ ├── match_serializer.rb │ ├── tournament_serializer.rb │ ├── participant_serializer.rb │ ├── round_serializer.rb │ ├── tournament_details_serializer.rb │ └── error_serializer.rb ├── .gitattributes ├── public ├── apple-touch-icon-precomposed.png ├── favicon.ico ├── favicon-16x16.png ├── favicon-32x32.png ├── logo-xw-lrg.png ├── mstile-150x150.png ├── apple-touch-icon.png ├── robots.txt ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── fonts │ ├── xwing-miniatures.ttf │ ├── xwing-miniatures-ships.ttf │ └── LICENSE.txt ├── browserconfig.xml ├── site.webmanifest ├── s12.csv ├── 500.html ├── 422.html └── 404.html ├── Procfile ├── bin ├── rake ├── bundle ├── rails ├── yarn ├── update └── setup ├── .gitmodules ├── package.json ├── config ├── environment.rb ├── initializers │ ├── cors.rb │ ├── mime_types.rb │ ├── application_controller_renderer.rb │ ├── cookies_serializer.rb │ ├── filter_parameter_logging.rb │ ├── omniauth.rb │ ├── permissions_policy.rb │ ├── wrap_parameters.rb │ ├── backtrace_silencers.rb │ ├── assets.rb │ ├── inflections.rb │ └── content_security_policy.rb ├── boot.rb ├── cable.yml ├── credentials.yml.enc ├── database.yml ├── application.rb ├── application.yml.sample ├── locales │ └── en.yml ├── storage.yml ├── puma.rb ├── routes.rb └── environments │ └── test.rb ├── db └── migrate │ ├── 20190203012013_change_ship_xws.rb │ ├── 20220309013410_add_sort_to_format.rb │ ├── 20190327185131_add_loss_on_league_participants.rb │ ├── 20181007004220_create_versions.rb │ ├── 20181007004236_create_formats.rb │ ├── 20181121020916_add_participant_counter_cache.rb │ ├── 20190217023821_add_promotion_tracker_to_league_participants.rb │ ├── 20190825180651_add_user_to_addresses.rb │ ├── 20190307214001_add_mov_to_l_participants.rb │ ├── 20181007031555_create_tournament_types.rb │ ├── 20181006204755_create_factions.rb │ ├── 20181207035750_create_league_match_states.rb │ ├── 20181109003516_create_divisions.rb │ ├── 20190227125129_add_division_letter.rb │ ├── 20190108185935_create_roundtypes.rb │ ├── 20190109233824_create_rounds.rb │ ├── 20190106202527_create_identities.rb │ ├── 20181010002750_create_ships.rb │ ├── 20181004023419_create_users.rb │ ├── 20181109003508_create_seasons.rb │ ├── 20190616195742_create_league_signups.rb │ ├── 20181108184836_create_league_participants.rb │ ├── 20181113014608_change_user_table.rb │ ├── 20220404204413_add_items_to_tournaments.rb │ ├── 20181010003159_create_upgrades.rb │ ├── 20181009234406_create_pilots.rb │ ├── 20181108030503_create_addresses.rb │ ├── 20181002190843_create_tournaments.rb │ ├── 20181221025059_create_season_seven_surveys.rb │ ├── 20181005004307_create_participants.rb │ ├── 20210321231956_create_active_storage_variant_records.active_storage.rb │ ├── 20181204013957_create_league_matches.rb │ ├── 20210321231955_add_service_name_to_active_storage_blobs.active_storage.rb │ ├── 20190111224922_create_matches.rb │ └── 20190218190306_create_active_storage_tables.active_storage.rb ├── config.ru ├── Rakefile ├── .rubocop.yml ├── .gitignore ├── LICENSE.txt └── README.md /log/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /storage/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tmp/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/assets/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/tasks/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/helpers/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/mailers/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/models/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/system/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.1.3 2 | -------------------------------------------------------------------------------- /app/assets/images/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/controllers/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fixtures/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/integration/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto -------------------------------------------------------------------------------- /app/models/concerns/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fixtures/files/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/controllers/concerns/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/javascripts/channels/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/apple-touch-icon-precomposed.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/helpers/me_helper.rb: -------------------------------------------------------------------------------- 1 | module MeHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/views/home/show.html.erb: -------------------------------------------------------------------------------- 1 | Welcome 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/views/layouts/mailer.text.erb: -------------------------------------------------------------------------------- 1 | <%= yield %> 2 | -------------------------------------------------------------------------------- /app/helpers/home_helper.rb: -------------------------------------------------------------------------------- 1 | module HomeHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/seasons_helper.rb: -------------------------------------------------------------------------------- 1 | module SeasonsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/models/upgrade.rb: -------------------------------------------------------------------------------- 1 | class Upgrade < ApplicationRecord 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/participants_helper.rb: -------------------------------------------------------------------------------- 1 | module ParticipantsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/tournaments_helper.rb: -------------------------------------------------------------------------------- 1 | module TournamentsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/models/roundtype.rb: -------------------------------------------------------------------------------- 1 | class Roundtype < ApplicationRecord 2 | end 3 | -------------------------------------------------------------------------------- /app/helpers/league_signups_helper.rb: -------------------------------------------------------------------------------- 1 | module LeagueSignupsHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/jobs/application_job.rb: -------------------------------------------------------------------------------- 1 | class ApplicationJob < ActiveJob::Base 2 | end 3 | -------------------------------------------------------------------------------- /app/models/league_match.rb: -------------------------------------------------------------------------------- 1 | class LeagueMatch < ApplicationRecord 2 | end 3 | -------------------------------------------------------------------------------- /Procfile: -------------------------------------------------------------------------------- 1 | web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development} -------------------------------------------------------------------------------- /app/helpers/league_participant_helper.rb: -------------------------------------------------------------------------------- 1 | module LeagueParticipantHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/views/rounds/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.partial! "rounds/round", round: @round 2 | -------------------------------------------------------------------------------- /app/helpers/season_seven_surveys_helper.rb: -------------------------------------------------------------------------------- 1 | module SeasonSevenSurveysHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/models/league_match_state.rb: -------------------------------------------------------------------------------- 1 | class LeagueMatchState < ApplicationRecord 2 | end 3 | -------------------------------------------------------------------------------- /app/views/matches/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.partial! "matches/match", match: @match 2 | -------------------------------------------------------------------------------- /app/models/address.rb: -------------------------------------------------------------------------------- 1 | class Address < ApplicationRecord 2 | belongs_to :user 3 | end 4 | -------------------------------------------------------------------------------- /app/models/faction.rb: -------------------------------------------------------------------------------- 1 | class Faction < ApplicationRecord 2 | has_many :ships 3 | end 4 | -------------------------------------------------------------------------------- /app/models/version.rb: -------------------------------------------------------------------------------- 1 | class Version < ApplicationRecord 2 | has_many :tournaments 3 | end 4 | -------------------------------------------------------------------------------- /app/views/rounds/index.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.array! @rounds, partial: 'rounds/round', as: :round 2 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexRaubach/ListFortress/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /app/models/pilot.rb: -------------------------------------------------------------------------------- 1 | class Pilot < ApplicationRecord 2 | belongs_to :ships, optional: true 3 | end 4 | -------------------------------------------------------------------------------- /app/views/matches/index.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.array! @matches, partial: 'matches/match', as: :match 2 | -------------------------------------------------------------------------------- /app/views/tournaments/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.partial! "tournaments/tournament", tournament: @tournament 2 | -------------------------------------------------------------------------------- /public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexRaubach/ListFortress/HEAD/public/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexRaubach/ListFortress/HEAD/public/favicon-32x32.png -------------------------------------------------------------------------------- /public/logo-xw-lrg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexRaubach/ListFortress/HEAD/public/logo-xw-lrg.png -------------------------------------------------------------------------------- /app/models/tournament_type.rb: -------------------------------------------------------------------------------- 1 | class TournamentType < ApplicationRecord 2 | has_many :tournaments 3 | end 4 | -------------------------------------------------------------------------------- /app/views/participants/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.partial! "participants/participant", participant: @participant 2 | -------------------------------------------------------------------------------- /public/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexRaubach/ListFortress/HEAD/public/mstile-150x150.png -------------------------------------------------------------------------------- /bin/rake: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | require_relative "../config/boot" 3 | require "rake" 4 | Rake.application.run 5 | -------------------------------------------------------------------------------- /public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexRaubach/ListFortress/HEAD/public/apple-touch-icon.png -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "xwing-data2"] 2 | path = xwing-data2 3 | url = https://github.com/guidokessels/xwing-data2 4 | -------------------------------------------------------------------------------- /app/models/application_record.rb: -------------------------------------------------------------------------------- 1 | class ApplicationRecord < ActiveRecord::Base 2 | self.abstract_class = true 3 | end 4 | -------------------------------------------------------------------------------- /app/views/league_signups/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.partial! "league_signups/league_signup", league_signup: @league_signup 2 | -------------------------------------------------------------------------------- /app/views/tournaments/index.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.array! @tournaments, partial: 'tournaments/tournament', as: :tournament 2 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file 2 | -------------------------------------------------------------------------------- /app/assets/images/logo-xw-lrg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexRaubach/ListFortress/HEAD/app/assets/images/logo-xw-lrg.png -------------------------------------------------------------------------------- /app/models/ship.rb: -------------------------------------------------------------------------------- 1 | class Ship < ApplicationRecord 2 | has_many :pilots 3 | belongs_to :factions, optional: true 4 | end 5 | -------------------------------------------------------------------------------- /app/views/participants/index.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.array! @participants, partial: 'participants/participant', as: :participant 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "listfortress", 3 | "private": true, 4 | "dependencies": {}, 5 | "license": "MIT" 6 | } 7 | -------------------------------------------------------------------------------- /public/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexRaubach/ListFortress/HEAD/public/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexRaubach/ListFortress/HEAD/public/android-chrome-512x512.png -------------------------------------------------------------------------------- /public/fonts/xwing-miniatures.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexRaubach/ListFortress/HEAD/public/fonts/xwing-miniatures.ttf -------------------------------------------------------------------------------- /app/channels/application_cable/channel.rb: -------------------------------------------------------------------------------- 1 | module ApplicationCable 2 | class Channel < ActionCable::Channel::Base 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /app/views/league_signups/index.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.array! @league_signups, partial: "league_signups/league_signup", as: :league_signup 2 | -------------------------------------------------------------------------------- /app/views/matches/_match.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! match, :id, :created_at, :updated_at 2 | json.url match_url(match, format: :json) 3 | -------------------------------------------------------------------------------- /app/views/rounds/_round.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! round, :id, :created_at, :updated_at 2 | json.url round_url(round, format: :json) 3 | -------------------------------------------------------------------------------- /public/fonts/xwing-miniatures-ships.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AlexRaubach/ListFortress/HEAD/public/fonts/xwing-miniatures-ships.ttf -------------------------------------------------------------------------------- /app/assets/config/manifest.js: -------------------------------------------------------------------------------- 1 | //= link_tree ../images 2 | //= link_directory ../javascripts .js 3 | //= link_directory ../stylesheets .css 4 | -------------------------------------------------------------------------------- /app/channels/application_cable/connection.rb: -------------------------------------------------------------------------------- 1 | module ApplicationCable 2 | class Connection < ActionCable::Connection::Base 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /app/controllers/home_controller.rb: -------------------------------------------------------------------------------- 1 | class HomeController < ApplicationController 2 | def show 3 | end 4 | 5 | def about 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /app/mailers/application_mailer.rb: -------------------------------------------------------------------------------- 1 | class ApplicationMailer < ActionMailer::Base 2 | default from: 'from@example.com' 3 | layout 'mailer' 4 | end 5 | -------------------------------------------------------------------------------- /app/views/participants/show.html.erb: -------------------------------------------------------------------------------- 1 | 2 | <%= link_to 'Edit', edit_participant_path(@participant) %> | 3 | <%= link_to 'Back', participants_path %> 4 | -------------------------------------------------------------------------------- /app/views/season_seven_surveys/show.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.partial! "season_seven_surveys/season_seven_survey", season_seven_survey: @season_seven_survey 2 | -------------------------------------------------------------------------------- /bin/bundle: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby.exe 2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) 3 | load Gem.bin_path('bundler', 'bundle') 4 | -------------------------------------------------------------------------------- /app/models/season_seven_survey.rb: -------------------------------------------------------------------------------- 1 | class SeasonSevenSurvey < ApplicationRecord 2 | belongs_to :user 3 | validates :user_id, uniqueness: true 4 | end 5 | -------------------------------------------------------------------------------- /app/models/league_signup.rb: -------------------------------------------------------------------------------- 1 | class LeagueSignup < ApplicationRecord 2 | belongs_to :user 3 | validates_uniqueness_of :user, scope: :season_number 4 | end 5 | -------------------------------------------------------------------------------- /app/views/tournaments/_tournament.json.jbuilder: -------------------------------------------------------------------------------- 1 | json.extract! tournament, :id, :created_at, :updated_at 2 | json.url tournament_url(tournament, format: :json) 3 | -------------------------------------------------------------------------------- /app/views/league_signups/new.html.erb: -------------------------------------------------------------------------------- 1 |
<%= notice %>
2 | 3 | <%= link_to 'Edit', edit_league_signup_path(@league_signup) %> | 4 | <%= link_to 'Back', league_signups_path %> 5 | -------------------------------------------------------------------------------- /test/models/league_match_state_test.rb: -------------------------------------------------------------------------------- 1 | require 'test_helper' 2 | 3 | class LeagueMatchStateTest < ActiveSupport::TestCase 4 | # test "the truth" do 5 | # assert true 6 | # end 7 | end 8 | -------------------------------------------------------------------------------- /test/models/league_participant_test.rb: -------------------------------------------------------------------------------- 1 | require 'test_helper' 2 | 3 | class LeagueParticipantTest < ActiveSupport::TestCase 4 | # test "the truth" do 5 | # assert true 6 | # end 7 | end 8 | -------------------------------------------------------------------------------- /test/models/season_seven_survey_test.rb: -------------------------------------------------------------------------------- 1 | require 'test_helper' 2 | 3 | class SeasonSevenSurveyTest < ActiveSupport::TestCase 4 | # test "the truth" do 5 | # assert true 6 | # end 7 | end 8 | -------------------------------------------------------------------------------- /app/views/matches/show.html.erb: -------------------------------------------------------------------------------- 1 | <%= link_to('Player 1', @match.player1) + ' | ' + link_to('Player 2', @match.player2) %> 2 | 3 |3 | To register, you must first have a Vassal League Slack account. 4 | link_to('To request an invite, visit this link.', https://xwingvassalleagueslack.herokuapp.com/) 5 |
6 |7 | Then, simply sign into List Fortress with your Vassal League Slack account by clicking the sign in with Slack Button. 8 | If you are prompted to select a workspace, enter xwvl 9 | Using a different workspace will result in an error 10 |
11 || 8 | | ||
|---|---|---|
| <%= link_to 'Show', round %> | 15 |<%= link_to 'Edit', edit_round_path(round) %> | 16 |<%= link_to 'Destroy', round, method: :delete, data: { confirm: 'Are you sure?' } %> | 17 |
| 8 | | ||
|---|---|---|
| <%= link_to 'Show', match %> | 15 |<%= link_to 'Edit', edit_match_path(match) %> | 16 |<%= link_to 'Destroy', match, method: :delete, data: { confirm: 'Are you sure?' } %> | 17 |
| <%= season.season_number%> | 8 |<%= link_to season.name, season_path(season_number: season.season_number) %> | 9 | |
| 8 | | ||
|---|---|---|
| <%= link_to 'Show', participant %> | 15 |<%= link_to 'Edit', edit_participant_path(participant) %> | 16 |<%= link_to 'Destroy', participant, method: :delete, data: { confirm: 'Are you sure?' } %> | 17 |
<%= notice %>
3 | 4 || Signup number | 10 |Name | 11 |ID | 12 |
|---|---|---|
| <%= i + 1 %> 19 | | <%= league_signup.user&.display_name %> | 20 |<%= league_signup.id %> | 21 |
| Signup number | 9 |Name | 10 |11 | | ||||
|---|---|---|---|---|---|---|
| <%= season_seven_survey.id %> | 18 |<%= season_seven_survey.user.display_name %> | 19 |20 | | ||||
4 |
17 |
6 | Interdivisional games are for when you have trouble scheduling games with the members of your division.
7 | You can only schedule games with players of other divisions that are in the same tier.
8 | To find a game, please join your tier’s channel in slack e.g. #4_outerrim and post your request or find an active player in your tier and send a dm.
9 | Please schedule the game before using this form to create the match.
10 |
| <%= division.letter %> | 17 |<%= division.tier %> | 18 |<%= link_to division.name, division_path(division) %> | 19 |
3 |
4 | Round Number: <%= @round.round_number %> 5 | Round Type: <%= @round.roundtype_id.present? ? Roundtype.find_by(id:@round.roundtype_id).name : "" %> 6 | Matches: <%= @round.matches.size %> 7 |
8 | 9 || Player1 | 13 |Player1 Points | 14 |Player2 | 15 |Player2 Points | 16 |Result | 17 |Winner | 18 |19 | |
|---|---|---|---|---|---|---|
| <%=Participant.find_by(id:match.player1_id).present? ? Participant.find_by(id:match.player1_id).name : nil %> | 25 |<%=match.player1_points %> | 26 |<%=Participant.find_by(id:match.player2_id).present? ? Participant.find_by(id:match.player2_id).name : nil %> | 27 |<%=match.player2_points %> | 28 |<%=match.result %> | 29 |<%=Participant.find_by(id:match.winner_id).present? ? Participant.find_by(id:match.winner_id).name : nil %> | 30 |<%= link_to 'Edit', edit_match_path(match) %> | 31 | 32 |
| Divisional Rank | 20 |Player Name | 21 |Wins | 22 |Losses | 23 |MoV | 24 |
|---|---|---|---|---|
| <%= index + 1 %> | 30 |<%= link_to(participant.name, league_participant_path(participant)) %> | 31 |<%= participant.score ? participant.score : '?' %> | 32 |<%= participant.losses ? participant.losses : '?' %> | 33 |<%= participant.mov ? participant.mov : '?' %> | 34 |
If you are the application owner check the logs for more information.
64 |Maybe you tried to change something you didn't have access to.
63 |If you are the application owner check the logs for more information.
65 |You may have mistyped the address or the page may have moved.
63 |If you are the application owner check the logs for more information.
65 || Name | 17 |Location | 18 |State | 19 |Country | 20 |Date | 21 |Format | 22 |Type | 23 |Players | 24 |
|---|---|---|---|---|---|---|---|
| <%= link_to tournament.name, tournament %> | 32 |<%= tournament.location%> | 33 |<%= tournament.state%> | 34 |<%= tournament.country%> | 35 |<%= tournament.date.strftime('%y/%m/%d')%> | 36 |<%= tournament.format&.name%> | 37 |<%= tournament.tournament_type&.name%> | 38 |<%= tournament.participants.size%> 39 | 41 | |
It may take up to an hour for standings to update after you submit a match.
53 |9 | X-Wing Miniatures Second Edition is a two player boardgame centered around building and dogfighting with a squad of starships from the Star Wars Universe. 10 |
11 |12 | List Fortress is a website for crowdsourcing the collection and organization of X-Wing Miniatures tournament results. 13 | The resulting data set is publicly available via API and is used by third party sites like <%= link_to "PBM", "https://pinksquadron.dk/pbm/"%> 14 | 15 | List Fortress also serves as the online hub for the X-Wing Vassal League. 16 | The League plays X-Wing online via the Vassal Engine and uses List Fortress to track player standings and share replays. 17 |
18 |
24 | List Fortress is built with Ruby on Rails, PostgreSQL and Bootstrap.
25 |
26 |
27 | The source code is available at <%= link_to 'Github', 'https://github.com/AlexRaubach/ListFortress'%> under an MIT license.
28 |
33 |
36 | <%= label_tag('', "You can load player and round data in three different ways. Only one can be used at a time.") %>
37 |
38 |
69 |
16 | If you are in Tier 1 or win your division, you're eligible for a acrylic prize.
17 | Please put the number corresponding to the last prize you recieved.
18 |
0: No Rulers/Templates
19 |
1: Range 1 Ruler
20 |
2: Range 2 Ruler
21 |
3: Range 3 Ruler
22 |
4: 1 Speed Templates
23 |
5: 2 Speed Templates
24 |
27 | Please input your address correctly so we can get you your prize. 28 | If you're not in the US, believe you're going to recieve a prize, and don't know how to format your address, 29 | please reach out to Antigrapist on the league slack or post on #leaguehelp 30 |
31 |