diff options
| author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2018-07-06 15:42:33 -0400 |
|---|---|---|
| committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2018-07-06 15:42:33 -0400 |
| commit | 2586fba3b8a181289c597071733774b3a406f675 (patch) | |
| tree | b7f1d64b3caf617ae36a20b44cf20a24d0b14dfc /app/models/blog.rb | |
| parent | c8d2050d147f65b141e8b8fcd229524de3842e7a (diff) | |
| download | thoughts-2586fba3b8a181289c597071733774b3a406f675.tar.gz thoughts-2586fba3b8a181289c597071733774b3a406f675.tar.bz2 thoughts-2586fba3b8a181289c597071733774b3a406f675.zip | |
Abstracted Recordable concern
Blogs, streams, and updates are all recordable, and there's no need to repeat code in the models for this.
Diffstat (limited to 'app/models/blog.rb')
| -rw-r--r-- | app/models/blog.rb | 4 |
1 files changed, 1 insertions, 3 deletions
| diff --git a/app/models/blog.rb b/app/models/blog.rb index 322a808..5742879 100644 --- a/app/models/blog.rb +++ b/app/models/blog.rb | |||
| @@ -1,12 +1,10 @@ | |||
| 1 | class Blog < ApplicationRecord | 1 | class Blog < ApplicationRecord |
| 2 | has_many :records, as: :recordable, inverse_of: :recordable | 2 | include Recordable |
| 3 | 3 | ||
| 4 | validates :title, presence: true | 4 | validates :title, presence: true |
| 5 | validates :body, presence: true, if: :published | 5 | validates :body, presence: true, if: :published |
| 6 | validates :slug, presence: true, format: /\A[-a-z0-9]+\z/, if: :published | 6 | validates :slug, presence: true, format: /\A[-a-z0-9]+\z/, if: :published |
| 7 | 7 | ||
| 8 | accepts_nested_attributes_for :records, allow_destroy: true | ||
| 9 | |||
| 10 | before_validation :set_draft_title | 8 | before_validation :set_draft_title |
| 11 | before_save :set_published_at | 9 | before_save :set_published_at |
| 12 | 10 | ||
