├── .gitignore ├── Gemfile ├── Gemfile.lock ├── README.rdoc ├── Rakefile ├── app ├── assets │ ├── images │ │ └── .keep │ ├── javascripts │ │ ├── application.js │ │ └── notifications.js.coffee │ └── stylesheets │ │ └── application.scss ├── controllers │ ├── application_controller.rb │ ├── concerns │ │ └── .keep │ ├── forum_posts_controller.rb │ ├── forum_threads_controller.rb │ └── notifications_controller.rb ├── helpers │ └── application_helper.rb ├── mailers │ └── .keep ├── models │ ├── .keep │ ├── concerns │ │ └── .keep │ ├── forum_post.rb │ ├── forum_thread.rb │ ├── notification.rb │ └── user.rb └── views │ ├── forum_posts │ └── _form.html.erb │ ├── forum_threads │ ├── _form.html.erb │ ├── edit.html.erb │ ├── index.html.erb │ ├── new.html.erb │ └── show.html.erb │ ├── layouts │ └── application.html.erb │ └── notifications │ └── index.json.jbuilder ├── bin ├── bundle ├── rails ├── rake ├── setup └── spring ├── config.ru ├── config ├── application.rb ├── boot.rb ├── database.yml ├── environment.rb ├── environments │ ├── development.rb │ ├── production.rb │ └── test.rb ├── initializers │ ├── assets.rb │ ├── backtrace_silencers.rb │ ├── cookies_serializer.rb │ ├── devise.rb │ ├── filter_parameter_logging.rb │ ├── inflections.rb │ ├── mime_types.rb │ ├── session_store.rb │ └── wrap_parameters.rb ├── locales │ ├── devise.en.yml │ └── en.yml ├── routes.rb └── secrets.yml ├── db ├── migrate │ ├── 20151204210959_devise_create_users.rb │ ├── 20151204211025_create_forum_threads.rb │ ├── 20151204211037_create_forum_posts.rb │ ├── 20151204213731_add_username_to_users.rb │ └── 20151204220430_create_notifications.rb ├── schema.rb └── seeds.rb ├── lib ├── assets │ └── .keep └── tasks │ └── .keep ├── log └── .keep ├── public ├── 404.html ├── 422.html ├── 500.html ├── favicon.ico └── robots.txt ├── test ├── controllers │ └── .keep ├── fixtures │ ├── .keep │ ├── forum_posts.yml │ ├── forum_threads.yml │ ├── notifications.yml │ └── users.yml ├── helpers │ └── .keep ├── integration │ └── .keep ├── mailers │ └── .keep ├── models │ ├── .keep │ ├── forum_post_test.rb │ ├── forum_thread_test.rb │ ├── notification_test.rb │ └── user_test.rb └── test_helper.rb └── vendor └── assets ├── javascripts └── .keep └── stylesheets └── .keep /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/.gitignore -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/Gemfile -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /README.rdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/README.rdoc -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/Rakefile -------------------------------------------------------------------------------- /app/assets/images/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/javascripts/application.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/assets/javascripts/application.js -------------------------------------------------------------------------------- /app/assets/javascripts/notifications.js.coffee: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/assets/javascripts/notifications.js.coffee -------------------------------------------------------------------------------- /app/assets/stylesheets/application.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/assets/stylesheets/application.scss -------------------------------------------------------------------------------- /app/controllers/application_controller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/controllers/application_controller.rb -------------------------------------------------------------------------------- /app/controllers/concerns/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/controllers/forum_posts_controller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/controllers/forum_posts_controller.rb -------------------------------------------------------------------------------- /app/controllers/forum_threads_controller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/controllers/forum_threads_controller.rb -------------------------------------------------------------------------------- /app/controllers/notifications_controller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/controllers/notifications_controller.rb -------------------------------------------------------------------------------- /app/helpers/application_helper.rb: -------------------------------------------------------------------------------- 1 | module ApplicationHelper 2 | end 3 | -------------------------------------------------------------------------------- /app/mailers/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/models/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/models/concerns/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/models/forum_post.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/models/forum_post.rb -------------------------------------------------------------------------------- /app/models/forum_thread.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/models/forum_thread.rb -------------------------------------------------------------------------------- /app/models/notification.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/models/notification.rb -------------------------------------------------------------------------------- /app/models/user.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/models/user.rb -------------------------------------------------------------------------------- /app/views/forum_posts/_form.html.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/views/forum_posts/_form.html.erb -------------------------------------------------------------------------------- /app/views/forum_threads/_form.html.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/views/forum_threads/_form.html.erb -------------------------------------------------------------------------------- /app/views/forum_threads/edit.html.erb: -------------------------------------------------------------------------------- 1 |

Edit Forum Thread

2 | 3 | <%= render partial: "form" %> 4 | -------------------------------------------------------------------------------- /app/views/forum_threads/index.html.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/views/forum_threads/index.html.erb -------------------------------------------------------------------------------- /app/views/forum_threads/new.html.erb: -------------------------------------------------------------------------------- 1 |

New Forum Thread

2 | 3 | <%= render partial: "form" %> 4 | -------------------------------------------------------------------------------- /app/views/forum_threads/show.html.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/views/forum_threads/show.html.erb -------------------------------------------------------------------------------- /app/views/layouts/application.html.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/views/layouts/application.html.erb -------------------------------------------------------------------------------- /app/views/notifications/index.json.jbuilder: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/app/views/notifications/index.json.jbuilder -------------------------------------------------------------------------------- /bin/bundle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/bin/bundle -------------------------------------------------------------------------------- /bin/rails: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/bin/rails -------------------------------------------------------------------------------- /bin/rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/bin/rake -------------------------------------------------------------------------------- /bin/setup: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/bin/setup -------------------------------------------------------------------------------- /bin/spring: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/bin/spring -------------------------------------------------------------------------------- /config.ru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config.ru -------------------------------------------------------------------------------- /config/application.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/application.rb -------------------------------------------------------------------------------- /config/boot.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/boot.rb -------------------------------------------------------------------------------- /config/database.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/database.yml -------------------------------------------------------------------------------- /config/environment.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/environment.rb -------------------------------------------------------------------------------- /config/environments/development.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/environments/development.rb -------------------------------------------------------------------------------- /config/environments/production.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/environments/production.rb -------------------------------------------------------------------------------- /config/environments/test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/environments/test.rb -------------------------------------------------------------------------------- /config/initializers/assets.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/initializers/assets.rb -------------------------------------------------------------------------------- /config/initializers/backtrace_silencers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/initializers/backtrace_silencers.rb -------------------------------------------------------------------------------- /config/initializers/cookies_serializer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/initializers/cookies_serializer.rb -------------------------------------------------------------------------------- /config/initializers/devise.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/initializers/devise.rb -------------------------------------------------------------------------------- /config/initializers/filter_parameter_logging.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/initializers/filter_parameter_logging.rb -------------------------------------------------------------------------------- /config/initializers/inflections.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/initializers/inflections.rb -------------------------------------------------------------------------------- /config/initializers/mime_types.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/initializers/mime_types.rb -------------------------------------------------------------------------------- /config/initializers/session_store.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/initializers/session_store.rb -------------------------------------------------------------------------------- /config/initializers/wrap_parameters.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/initializers/wrap_parameters.rb -------------------------------------------------------------------------------- /config/locales/devise.en.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/locales/devise.en.yml -------------------------------------------------------------------------------- /config/locales/en.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/locales/en.yml -------------------------------------------------------------------------------- /config/routes.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/routes.rb -------------------------------------------------------------------------------- /config/secrets.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/config/secrets.yml -------------------------------------------------------------------------------- /db/migrate/20151204210959_devise_create_users.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/db/migrate/20151204210959_devise_create_users.rb -------------------------------------------------------------------------------- /db/migrate/20151204211025_create_forum_threads.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/db/migrate/20151204211025_create_forum_threads.rb -------------------------------------------------------------------------------- /db/migrate/20151204211037_create_forum_posts.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/db/migrate/20151204211037_create_forum_posts.rb -------------------------------------------------------------------------------- /db/migrate/20151204213731_add_username_to_users.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/db/migrate/20151204213731_add_username_to_users.rb -------------------------------------------------------------------------------- /db/migrate/20151204220430_create_notifications.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/db/migrate/20151204220430_create_notifications.rb -------------------------------------------------------------------------------- /db/schema.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/db/schema.rb -------------------------------------------------------------------------------- /db/seeds.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/db/seeds.rb -------------------------------------------------------------------------------- /lib/assets/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/tasks/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /log/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/404.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/public/404.html -------------------------------------------------------------------------------- /public/422.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/public/422.html -------------------------------------------------------------------------------- /public/500.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/public/500.html -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/public/robots.txt -------------------------------------------------------------------------------- /test/controllers/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fixtures/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/fixtures/forum_posts.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/test/fixtures/forum_posts.yml -------------------------------------------------------------------------------- /test/fixtures/forum_threads.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/test/fixtures/forum_threads.yml -------------------------------------------------------------------------------- /test/fixtures/notifications.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/test/fixtures/notifications.yml -------------------------------------------------------------------------------- /test/fixtures/users.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/test/fixtures/users.yml -------------------------------------------------------------------------------- /test/helpers/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/integration/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/mailers/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/models/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/models/forum_post_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/test/models/forum_post_test.rb -------------------------------------------------------------------------------- /test/models/forum_thread_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/test/models/forum_thread_test.rb -------------------------------------------------------------------------------- /test/models/notification_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/test/models/notification_test.rb -------------------------------------------------------------------------------- /test/models/user_test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/test/models/user_test.rb -------------------------------------------------------------------------------- /test/test_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gorails-screencasts/gorails-episode-96/HEAD/test/test_helper.rb -------------------------------------------------------------------------------- /vendor/assets/javascripts/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/assets/stylesheets/.keep: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------