summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDavid Gay <eapoems@riseup.net>2023-10-30 01:06:05 -0400
committerDavid Gay <eapoems@riseup.net>2023-10-30 01:06:05 -0400
commit5e7909e61695d002d45ce58fa010502c5eb8da51 (patch)
tree4196596af1edc31a6ba073a09e53a0ac32d02807 /app
parentf47ca741d81a8de56fdd1cee1114b9c676d8b245 (diff)
Game, Run, Checkpoint models
Diffstat (limited to 'app')
-rw-r--r--app/models/checkpoint.rb4
-rw-r--r--app/models/game.rb5
-rw-r--r--app/models/run.rb7
3 files changed, 16 insertions, 0 deletions
diff --git a/app/models/checkpoint.rb b/app/models/checkpoint.rb
new file mode 100644
index 0000000..2a89128
--- /dev/null
+++ b/app/models/checkpoint.rb
@@ -0,0 +1,4 @@
+class Checkpoint < ApplicationRecord
+ belongs_to :run
+ belongs_to :user
+end
diff --git a/app/models/game.rb b/app/models/game.rb
new file mode 100644
index 0000000..bdf72ba
--- /dev/null
+++ b/app/models/game.rb
@@ -0,0 +1,5 @@
+class Game < ApplicationRecord
+ has_many :runs, dependent: :restrict_with_error
+
+ validate :presence, [:title]
+end
diff --git a/app/models/run.rb b/app/models/run.rb
new file mode 100644
index 0000000..91090b4
--- /dev/null
+++ b/app/models/run.rb
@@ -0,0 +1,7 @@
+class Run < ApplicationRecord
+ belongs_to :game
+ belongs_to :user
+ has_many :checkpoints, dependent: :destroy
+
+ validate :presence, [:title]
+end