From 8e15dbd73035c2a2198a2828a20ddcebe0739823 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Tue, 3 Jul 2018 13:58:57 -0400 Subject: Implemented streams Currently there are no links to the pages for editing stream updates, and the admin panel for managing streams could probably have a better look & feel, but here's some basic working functionality. refs #8 --- app/models/stream.rb | 13 +++++++++++++ app/models/update.rb | 12 ++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 app/models/stream.rb create mode 100644 app/models/update.rb (limited to 'app/models') 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 @@ +class Stream < ApplicationRecord + has_many :records, as: :recordable, inverse_of: :recordable + has_many :updates + + validates :title, presence: true + validates :slug, presence: true, format: /\A[-a-z0-9]+\z/ + + accepts_nested_attributes_for :records, allow_destroy: true + + def path + "/thinks/#{slug}" + end +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 @@ +class Update < ApplicationRecord + has_many :records, as: :recordable, inverse_of: :recordable + belongs_to :stream + + validates :stream, :body, presence: true + + accepts_nested_attributes_for :records, allow_destroy: true + + def path + "/thinks/#{stream.slug}\#update-#{id}" + end +end -- cgit 1.4.1