diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2025-05-12 14:53:31 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2025-05-12 14:53:31 -0400 |
commit | b7c5853de5f0f04625eab6389cba9de8b02e48fb (patch) | |
tree | 1764a974e1b93b024c90f98246590d0bac5430ef /app/models | |
parent | 4016070f2caf30f576d0b0df8a65a7b4b468e951 (diff) | |
download | thoughts-b7c5853de5f0f04625eab6389cba9de8b02e48fb.tar.gz thoughts-b7c5853de5f0f04625eab6389cba9de8b02e48fb.tar.bz2 thoughts-b7c5853de5f0f04625eab6389cba9de8b02e48fb.zip |
Added streams index
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/stream.rb | 11 | ||||
-rw-r--r-- | app/models/update.rb | 8 |
2 files changed, 19 insertions, 0 deletions
diff --git a/app/models/stream.rb b/app/models/stream.rb index 0773143..6a738e2 100644 --- a/app/models/stream.rb +++ b/app/models/stream.rb | |||
@@ -8,11 +8,22 @@ class Stream < ApplicationRecord | |||
8 | validates :title, presence: true | 8 | validates :title, presence: true |
9 | validates :slug, presence: true, format: /\A[-a-z0-9]+\z/ | 9 | validates :slug, presence: true, format: /\A[-a-z0-9]+\z/ |
10 | 10 | ||
11 | before_create :set_post_timestamp | ||
12 | |||
11 | def path | 13 | def path |
12 | "/thinks/#{slug}" | 14 | "/thinks/#{slug}" |
13 | end | 15 | end |
14 | 16 | ||
17 | def to_param | ||
18 | slug | ||
19 | end | ||
20 | |||
15 | def taggable | 21 | def taggable |
16 | self | 22 | self |
17 | end | 23 | end |
24 | |||
25 | private | ||
26 | def set_post_timestamp | ||
27 | self.latest_post_at = self.created_at | ||
28 | end | ||
18 | end | 29 | end |
diff --git a/app/models/update.rb b/app/models/update.rb index 01907d8..a98a5d4 100644 --- a/app/models/update.rb +++ b/app/models/update.rb | |||
@@ -5,6 +5,8 @@ class Update < ApplicationRecord | |||
5 | 5 | ||
6 | validates :stream, :body, presence: true | 6 | validates :stream, :body, presence: true |
7 | 7 | ||
8 | after_create :set_latest_timestamp | ||
9 | |||
8 | def path | 10 | def path |
9 | "/thinks/#{stream.slug}\#update-#{id}" | 11 | "/thinks/#{stream.slug}\#update-#{id}" |
10 | end | 12 | end |
@@ -12,4 +14,10 @@ class Update < ApplicationRecord | |||
12 | def taggable | 14 | def taggable |
13 | stream | 15 | stream |
14 | end | 16 | end |
17 | |||
18 | private | ||
19 | def set_latest_timestamp | ||
20 | self.stream.latest_post_at = self.created_at | ||
21 | self.stream.save! | ||
22 | end | ||
15 | end | 23 | end |