diff options
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/stream.rb | 13 | ||||
-rw-r--r-- | app/models/update.rb | 12 |
2 files changed, 25 insertions, 0 deletions
diff --git a/app/models/stream.rb b/app/models/stream.rb new file mode 100644 index 0000000..7faa370 --- /dev/null +++ b/app/models/stream.rb | |||
@@ -0,0 +1,13 @@ | |||
1 | class Stream < ApplicationRecord | ||
2 | has_many :records, as: :recordable, inverse_of: :recordable | ||
3 | has_many :updates | ||
4 | |||
5 | validates :title, presence: true | ||
6 | validates :slug, presence: true, format: /\A[-a-z0-9]+\z/ | ||
7 | |||
8 | accepts_nested_attributes_for :records, allow_destroy: true | ||
9 | |||
10 | def path | ||
11 | "/thinks/#{slug}" | ||
12 | end | ||
13 | end | ||
diff --git a/app/models/update.rb b/app/models/update.rb new file mode 100644 index 0000000..41cc453 --- /dev/null +++ b/app/models/update.rb | |||
@@ -0,0 +1,12 @@ | |||
1 | class Update < ApplicationRecord | ||
2 | has_many :records, as: :recordable, inverse_of: :recordable | ||
3 | belongs_to :stream | ||
4 | |||
5 | validates :stream, :body, presence: true | ||
6 | |||
7 | accepts_nested_attributes_for :records, allow_destroy: true | ||
8 | |||
9 | def path | ||
10 | "/thinks/#{stream.slug}\#update-#{id}" | ||
11 | end | ||
12 | end | ||