lootban start

This commit is contained in:
Evan Burkey 2025-02-27 15:47:41 -08:00
parent 2c0f09455e
commit 0e380931b1
12 changed files with 91 additions and 53 deletions

1
.gitignore vendored
View File

@ -3,6 +3,7 @@
# Temporary files generated by your text editor or operating system # Temporary files generated by your text editor or operating system
# belong in git's global ignore instead: # belong in git's global ignore instead:
# `$XDG_CONFIG_HOME/git/ignore` or `~/.config/git/ignore` # `$XDG_CONFIG_HOME/git/ignore` or `~/.config/git/ignore`
.idea
# Ignore bundler config. # Ignore bundler config.
/.bundle /.bundle

91
.idea/gambosite.iml generated
View File

@ -79,7 +79,6 @@
<orderEntry type="library" scope="PROVIDED" name="mini_mime (v1.1.5, mise: 3.3.6) [gem]" level="application" /> <orderEntry type="library" scope="PROVIDED" name="mini_mime (v1.1.5, mise: 3.3.6) [gem]" level="application" />
<orderEntry type="library" scope="PROVIDED" name="minitest (v5.25.4, mise: 3.3.6) [gem]" level="application" /> <orderEntry type="library" scope="PROVIDED" name="minitest (v5.25.4, mise: 3.3.6) [gem]" level="application" />
<orderEntry type="library" scope="PROVIDED" name="msgpack (v1.7.5, mise: 3.3.6) [gem]" level="application" /> <orderEntry type="library" scope="PROVIDED" name="msgpack (v1.7.5, mise: 3.3.6) [gem]" level="application" />
<orderEntry type="library" scope="PROVIDED" name="mysql2 (v0.5.6, mise: 3.3.6) [gem]" level="application" />
<orderEntry type="library" scope="PROVIDED" name="net-imap (v0.5.5, mise: 3.3.6) [gem]" level="application" /> <orderEntry type="library" scope="PROVIDED" name="net-imap (v0.5.5, mise: 3.3.6) [gem]" level="application" />
<orderEntry type="library" scope="PROVIDED" name="net-pop (v0.1.2, mise: 3.3.6) [gem]" level="application" /> <orderEntry type="library" scope="PROVIDED" name="net-pop (v0.1.2, mise: 3.3.6) [gem]" level="application" />
<orderEntry type="library" scope="PROVIDED" name="net-protocol (v0.2.2, mise: 3.3.6) [gem]" level="application" /> <orderEntry type="library" scope="PROVIDED" name="net-protocol (v0.2.2, mise: 3.3.6) [gem]" level="application" />
@ -154,78 +153,76 @@
<component name="RailsGeneratorsCache"> <component name="RailsGeneratorsCache">
<option name="generators"> <option name="generators">
<list> <list>
<option value="active_record:application_record" /> <option value="active_record:migration" />
<option value="active_record:multi_db" /> <option value="active_record:model" />
<option value="application_record" /> <option value="active_record:observer" />
<option value="authentication" /> <option value="active_record:session_migration" />
<option value="benchmark" />
<option value="channel" />
<option value="controller" /> <option value="controller" />
<option value="erb:authentication" /> <option value="erb:controller" />
<option value="erb:mailer" />
<option value="erb:scaffold" />
<option value="generator" /> <option value="generator" />
<option value="helper" /> <option value="helper" />
<option value="integration_test" /> <option value="integration_test" />
<option value="jbuilder" />
<option value="job" />
<option value="mailbox" />
<option value="mailer" /> <option value="mailer" />
<option value="metal" />
<option value="migration" /> <option value="migration" />
<option value="model" /> <option value="model" />
<option value="model_subclass" />
<option value="observer" />
<option value="performance_test" />
<option value="plugin" />
<option value="resource" /> <option value="resource" />
<option value="scaffold" /> <option value="scaffold" />
<option value="scaffold_controller" /> <option value="scaffold_controller" />
<option value="script" /> <option value="session_migration" />
<option value="solid_cable:install" /> <option value="stylesheets" />
<option value="solid_cable:update" /> <option value="test_unit:controller" />
<option value="solid_cache:install" /> <option value="test_unit:helper" />
<option value="solid_queue:install" /> <option value="test_unit:integration" />
<option value="stimulus" /> <option value="test_unit:mailer" />
<option value="system_test" /> <option value="test_unit:model" />
<option value="task" /> <option value="test_unit:observer" />
<option value="test_unit:authentication" /> <option value="test_unit:performance" />
<option value="test_unit:channel" />
<option value="test_unit:generator" />
<option value="test_unit:install" />
<option value="test_unit:mailbox" />
<option value="test_unit:plugin" /> <option value="test_unit:plugin" />
<option value="test_unit:scaffold" />
</list> </list>
</option> </option>
<option name="myGenerators"> <option name="myGenerators">
<list> <list>
<option value="active_record:application_record" /> <option value="active_record:migration" />
<option value="active_record:multi_db" /> <option value="active_record:model" />
<option value="application_record" /> <option value="active_record:observer" />
<option value="authentication" /> <option value="active_record:session_migration" />
<option value="benchmark" />
<option value="channel" />
<option value="controller" /> <option value="controller" />
<option value="erb:authentication" /> <option value="erb:controller" />
<option value="erb:mailer" />
<option value="erb:scaffold" />
<option value="generator" /> <option value="generator" />
<option value="helper" /> <option value="helper" />
<option value="integration_test" /> <option value="integration_test" />
<option value="jbuilder" />
<option value="job" />
<option value="mailbox" />
<option value="mailer" /> <option value="mailer" />
<option value="metal" />
<option value="migration" /> <option value="migration" />
<option value="model" /> <option value="model" />
<option value="model_subclass" />
<option value="observer" />
<option value="performance_test" />
<option value="plugin" />
<option value="resource" /> <option value="resource" />
<option value="scaffold" /> <option value="scaffold" />
<option value="scaffold_controller" /> <option value="scaffold_controller" />
<option value="script" /> <option value="session_migration" />
<option value="solid_cable:install" /> <option value="stylesheets" />
<option value="solid_cable:update" /> <option value="test_unit:controller" />
<option value="solid_cache:install" /> <option value="test_unit:helper" />
<option value="solid_queue:install" /> <option value="test_unit:integration" />
<option value="stimulus" /> <option value="test_unit:mailer" />
<option value="system_test" /> <option value="test_unit:model" />
<option value="task" /> <option value="test_unit:observer" />
<option value="test_unit:authentication" /> <option value="test_unit:performance" />
<option value="test_unit:channel" />
<option value="test_unit:generator" />
<option value="test_unit:install" />
<option value="test_unit:mailbox" />
<option value="test_unit:plugin" /> <option value="test_unit:plugin" />
<option value="test_unit:scaffold" />
</list> </list>
</option> </option>
</component> </component>

View File

@ -4,8 +4,6 @@ source "https://rubygems.org"
gem "rails", "~> 8.0.0" gem "rails", "~> 8.0.0"
# The modern asset pipeline for Rails [https://github.com/rails/propshaft] # The modern asset pipeline for Rails [https://github.com/rails/propshaft]
gem "propshaft" gem "propshaft"
# Use mysql as the database for Active Record
gem "mysql2", "~> 0.5"
# Use the Puma web server [https://github.com/puma/puma] # Use the Puma web server [https://github.com/puma/puma]
gem "puma", ">= 5.0" gem "puma", ">= 5.0"
# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] # Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]

View File

@ -155,7 +155,6 @@ GEM
mini_mime (1.1.5) mini_mime (1.1.5)
minitest (5.25.4) minitest (5.25.4)
msgpack (1.7.5) msgpack (1.7.5)
mysql2 (0.5.6)
net-imap (0.5.5) net-imap (0.5.5)
date date
net-protocol net-protocol
@ -374,7 +373,6 @@ DEPENDENCIES
importmap-rails importmap-rails
jbuilder jbuilder
kamal kamal
mysql2 (~> 0.5)
propshaft propshaft
puma (>= 5.0) puma (>= 5.0)
rails (~> 8.0.0) rails (~> 8.0.0)

View File

@ -54,4 +54,16 @@ class AdminController < ApplicationController
session.delete(:user_id) session.delete(:user_id)
redirect_to root_path, notice: "Logged out!" redirect_to root_path, notice: "Logged out!"
end end
def set_lootban(name)
if Lootban.count == 0
Lootban.create(name: name)
else
Lootban.first.name = name
end
end
def delete_lootban
Lootban.delete_all
end
end end

View File

@ -1,5 +1,6 @@
class LeaderboardController < ApplicationController class LeaderboardController < ApplicationController
def index def index
@players = Player.where(main_player_id: nil).order(purse: :desc) @players = Player.where(main_player_id: nil).order(purse: :desc)
@lootban = Lootban.first&.name || "Nobody... yet"
end end
end end

2
app/models/lootban.rb Normal file
View File

@ -0,0 +1,2 @@
class Lootban < ApplicationRecord
end

View File

@ -38,5 +38,5 @@
<% end %> <% end %>
<h1>Current Loot Ban:</h1> <h1>Current Loot Ban:</h1>
<h1 class="goofy-text">Belien</h1> <h1 class="goofy-text"><%= @lootban %></h1>

View File

@ -0,0 +1,9 @@
class CreateLootbans < ActiveRecord::Migration[8.0]
def change
create_table :lootbans do |t|
t.string :name
t.timestamps
end
end
end

8
db/schema.rb generated
View File

@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[8.0].define(version: 2025_01_26_011348) do ActiveRecord::Schema[8.0].define(version: 2025_02_27_233421) do
create_table "api_keys", force: :cascade do |t| create_table "api_keys", force: :cascade do |t|
t.string "key" t.string "key"
t.string "client" t.string "client"
@ -32,6 +32,12 @@ ActiveRecord::Schema[8.0].define(version: 2025_01_26_011348) do
t.datetime "updated_at", null: false t.datetime "updated_at", null: false
end end
create_table "lootbans", force: :cascade do |t|
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "players", force: :cascade do |t| create_table "players", force: :cascade do |t|
t.string "name" t.string "name"
t.integer "wins" t.integer "wins"

7
test/fixtures/lootbans.yml vendored Normal file
View File

@ -0,0 +1,7 @@
# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
one:
name: MyString
two:
name: MyString

View File

@ -0,0 +1,7 @@
require "test_helper"
class LootbanTest < ActiveSupport::TestCase
# test "the truth" do
# assert true
# end
end