diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb new file mode 100644 index 0000000..884cc92 --- /dev/null +++ b/app/controllers/games_controller.rb @@ -0,0 +1,13 @@ +class GamesController < ApplicationController + def index + @games = Game.all + end + + def show + @game = Game.find(params["id"]) + clocks = @game.clocks + resources = @game.resources + morales = @game.morales + @trackers = clocks + resources + morales + end +end diff --git a/app/controllers/trackers_controller.rb b/app/controllers/trackers_controller.rb new file mode 100644 index 0000000..33bf53e --- /dev/null +++ b/app/controllers/trackers_controller.rb @@ -0,0 +1,8 @@ +class TrackersController < ApplicationController + def index + @clocks = Clock.all + @resources = Resource.all + @morales = Morale.all + @trackers = @clocks + @resources + @morales + end +end diff --git a/app/models/clock.rb b/app/models/clock.rb new file mode 100644 index 0000000..f4c3f8b --- /dev/null +++ b/app/models/clock.rb @@ -0,0 +1,5 @@ +class Clock < ApplicationRecord + def type + "clock" + end +end diff --git a/app/models/game.rb b/app/models/game.rb new file mode 100644 index 0000000..5145867 --- /dev/null +++ b/app/models/game.rb @@ -0,0 +1,6 @@ +class Game < ApplicationRecord + has_many :clocks + has_many :resources + has_many :morales + has_many :text_trackers +end diff --git a/app/models/morale.rb b/app/models/morale.rb new file mode 100644 index 0000000..7360778 --- /dev/null +++ b/app/models/morale.rb @@ -0,0 +1,5 @@ +class Morale < ApplicationRecord + def type + "morale" + end +end diff --git a/app/models/resource.rb b/app/models/resource.rb new file mode 100644 index 0000000..51a0187 --- /dev/null +++ b/app/models/resource.rb @@ -0,0 +1,5 @@ +class Resource < ApplicationRecord + def type + "resources" + end +end diff --git a/app/models/text_tracker.rb b/app/models/text_tracker.rb new file mode 100644 index 0000000..202d79a --- /dev/null +++ b/app/models/text_tracker.rb @@ -0,0 +1,2 @@ +class TextTracker < ApplicationRecord +end diff --git a/app/models/text_tracker_message.rb b/app/models/text_tracker_message.rb new file mode 100644 index 0000000..2fe4910 --- /dev/null +++ b/app/models/text_tracker_message.rb @@ -0,0 +1,2 @@ +class TextTrackerMessage < ApplicationRecord +end diff --git a/app/views/games/index.html.erb b/app/views/games/index.html.erb new file mode 100644 index 0000000..b095945 --- /dev/null +++ b/app/views/games/index.html.erb @@ -0,0 +1,4 @@ +

Games

+<% @games.each do |game| %> +

<%= game.name %>

+<% end %> diff --git a/app/views/games/show.html.erb b/app/views/games/show.html.erb new file mode 100644 index 0000000..af90ded --- /dev/null +++ b/app/views/games/show.html.erb @@ -0,0 +1,4 @@ +

<%= @game.name %>

+<% @trackers.each do |tracker| %> +

<%= tracker.name %>(<%= tracker.type %>)

+<% end %> diff --git a/app/views/trackers/index.html.erb b/app/views/trackers/index.html.erb new file mode 100644 index 0000000..07bab36 --- /dev/null +++ b/app/views/trackers/index.html.erb @@ -0,0 +1,4 @@ +

Trackers

+<% @trackers.each do |tracker| %> +

<%= tracker.name %>(<%= tracker.type %>)

+<% end %> diff --git a/config/routes.rb b/config/routes.rb index 48254e8..7d53b05 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -11,4 +11,7 @@ Rails.application.routes.draw do # Defines the root path route ("/") # root "posts#index" + resources :games do + resources :trackers + end end diff --git a/db/migrate/20260202002624_create_clocks.rb b/db/migrate/20260202002624_create_clocks.rb new file mode 100644 index 0000000..235b0e7 --- /dev/null +++ b/db/migrate/20260202002624_create_clocks.rb @@ -0,0 +1,11 @@ +class CreateClocks < ActiveRecord::Migration[8.1] + def change + create_table :clocks do |t| + t.integer :game_id + t.string :name + t.integer :value + t.integer :max_value + t.timestamps + end + end +end diff --git a/db/migrate/20260202002634_create_resources.rb b/db/migrate/20260202002634_create_resources.rb new file mode 100644 index 0000000..89a630c --- /dev/null +++ b/db/migrate/20260202002634_create_resources.rb @@ -0,0 +1,11 @@ +class CreateResources < ActiveRecord::Migration[8.1] + def change + create_table :resources do |t| + t.integer :game_id + t.string :name + t.integer :value + t.integer :max_value + t.timestamps + end + end +end diff --git a/db/migrate/20260202002643_create_morales.rb b/db/migrate/20260202002643_create_morales.rb new file mode 100644 index 0000000..6c9b7b1 --- /dev/null +++ b/db/migrate/20260202002643_create_morales.rb @@ -0,0 +1,12 @@ +class CreateMorales < ActiveRecord::Migration[8.1] + def change + create_table :morales do |t| + t.integer :game_id + t.string :name + t.float :value + t.float :min_value + t.float :max_value + t.timestamps + end + end +end diff --git a/db/migrate/20260202002709_create_text_trackers.rb b/db/migrate/20260202002709_create_text_trackers.rb new file mode 100644 index 0000000..bc9cd67 --- /dev/null +++ b/db/migrate/20260202002709_create_text_trackers.rb @@ -0,0 +1,9 @@ +class CreateTextTrackers < ActiveRecord::Migration[8.1] + def change + create_table :text_trackers do |t| + t.integer :game_id + t.string :name + t.timestamps + end + end +end diff --git a/db/migrate/20260202002713_create_text_tracker_messages.rb b/db/migrate/20260202002713_create_text_tracker_messages.rb new file mode 100644 index 0000000..92fd9a5 --- /dev/null +++ b/db/migrate/20260202002713_create_text_tracker_messages.rb @@ -0,0 +1,9 @@ +class CreateTextTrackerMessages < ActiveRecord::Migration[8.1] + def change + create_table :text_tracker_messages do |t| + t.integer :text_tracker_id + t.text :text + t.timestamps + end + end +end diff --git a/db/migrate/20260202002823_create_games.rb b/db/migrate/20260202002823_create_games.rb new file mode 100644 index 0000000..a3bb178 --- /dev/null +++ b/db/migrate/20260202002823_create_games.rb @@ -0,0 +1,8 @@ +class CreateGames < ActiveRecord::Migration[8.1] + def change + create_table :games do |t| + t.string :name + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 03e7368..3af2109 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,5 +10,52 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[8.1].define(version: 0) do +ActiveRecord::Schema[8.1].define(version: 2026_02_02_002823) do + create_table "clocks", force: :cascade do |t| + t.datetime "created_at", null: false + t.integer "game_id" + t.integer "max_value" + t.string "name" + t.datetime "updated_at", null: false + t.integer "value" + end + + create_table "games", force: :cascade do |t| + t.datetime "created_at", null: false + t.string "name" + t.datetime "updated_at", null: false + end + + create_table "morales", force: :cascade do |t| + t.datetime "created_at", null: false + t.integer "game_id" + t.float "max_value" + t.float "min_value" + t.string "name" + t.datetime "updated_at", null: false + t.float "value" + end + + create_table "resources", force: :cascade do |t| + t.datetime "created_at", null: false + t.integer "game_id" + t.integer "max_value" + t.string "name" + t.datetime "updated_at", null: false + t.integer "value" + end + + create_table "text_tracker_messages", force: :cascade do |t| + t.datetime "created_at", null: false + t.text "text" + t.integer "text_tracker_id" + t.datetime "updated_at", null: false + end + + create_table "text_trackers", force: :cascade do |t| + t.datetime "created_at", null: false + t.integer "game_id" + t.string "name" + t.datetime "updated_at", null: false + end end diff --git a/test/models/clock_test.rb b/test/models/clock_test.rb new file mode 100644 index 0000000..2012c15 --- /dev/null +++ b/test/models/clock_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class ClockTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/models/game_test.rb b/test/models/game_test.rb new file mode 100644 index 0000000..6628fae --- /dev/null +++ b/test/models/game_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class GameTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/models/morale_test.rb b/test/models/morale_test.rb new file mode 100644 index 0000000..4835184 --- /dev/null +++ b/test/models/morale_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class MoraleTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/models/resource_test.rb b/test/models/resource_test.rb new file mode 100644 index 0000000..be745ce --- /dev/null +++ b/test/models/resource_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class ResourceTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/models/text_tracker_message_test.rb b/test/models/text_tracker_message_test.rb new file mode 100644 index 0000000..ed6c135 --- /dev/null +++ b/test/models/text_tracker_message_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class TextTrackerMessageTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/models/text_tracker_test.rb b/test/models/text_tracker_test.rb new file mode 100644 index 0000000..45c909e --- /dev/null +++ b/test/models/text_tracker_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class TextTrackerTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end