From 6b159ed6201b30e269ec3f63119cba3ca7a1e929 Mon Sep 17 00:00:00 2001 From: IsabelDePapel Date: Mon, 18 Sep 2017 15:22:41 -0700 Subject: [PATCH 1/6] Added directory? --- task_list/.gitignore | 19 ++ task_list/Gemfile | 54 +++++ task_list/Gemfile.lock | 196 ++++++++++++++++++ task_list/README.md | 24 +++ task_list/Rakefile | 6 + task_list/app/assets/config/manifest.js | 3 + task_list/app/assets/images/.keep | 0 .../app/assets/javascripts/application.js | 15 ++ task_list/app/assets/javascripts/cable.js | 13 ++ .../app/assets/javascripts/channels/.keep | 0 task_list/app/assets/javascripts/tasks.coffee | 3 + .../app/assets/stylesheets/application.css | 15 ++ task_list/app/assets/stylesheets/tasks.scss | 3 + .../app/channels/application_cable/channel.rb | 4 + .../channels/application_cable/connection.rb | 4 + .../app/controllers/application_controller.rb | 3 + task_list/app/controllers/concerns/.keep | 0 task_list/app/controllers/tasks_controller.rb | 22 ++ task_list/app/helpers/application_helper.rb | 2 + task_list/app/helpers/tasks_helper.rb | 2 + task_list/app/jobs/application_job.rb | 2 + task_list/app/mailers/application_mailer.rb | 4 + task_list/app/models/application_record.rb | 3 + task_list/app/models/concerns/.keep | 0 .../app/views/layouts/application.html.erb | 14 ++ task_list/app/views/layouts/mailer.html.erb | 13 ++ task_list/app/views/layouts/mailer.text.erb | 1 + task_list/app/views/tasks/create.html.erb | 2 + task_list/app/views/tasks/destroy.html.erb | 2 + task_list/app/views/tasks/edit.html.erb | 2 + task_list/app/views/tasks/index.html.erb | 2 + task_list/app/views/tasks/new.html.erb | 2 + task_list/app/views/tasks/show.html.erb | 2 + task_list/app/views/tasks/update.html.erb | 2 + task_list/bin/bundle | 3 + task_list/bin/rails | 9 + task_list/bin/rake | 9 + task_list/bin/setup | 38 ++++ task_list/bin/spring | 17 ++ task_list/bin/update | 29 +++ task_list/bin/yarn | 11 + task_list/config.ru | 5 + task_list/config/application.rb | 18 ++ task_list/config/boot.rb | 3 + task_list/config/cable.yml | 10 + task_list/config/database.yml | 85 ++++++++ task_list/config/environment.rb | 5 + task_list/config/environments/development.rb | 54 +++++ task_list/config/environments/production.rb | 91 ++++++++ task_list/config/environments/test.rb | 42 ++++ .../application_controller_renderer.rb | 8 + task_list/config/initializers/assets.rb | 14 ++ .../initializers/backtrace_silencers.rb | 7 + .../config/initializers/cookies_serializer.rb | 5 + .../initializers/filter_parameter_logging.rb | 4 + task_list/config/initializers/inflections.rb | 16 ++ task_list/config/initializers/mime_types.rb | 4 + .../config/initializers/wrap_parameters.rb | 14 ++ task_list/config/locales/en.yml | 33 +++ task_list/config/puma.rb | 56 +++++ task_list/config/routes.rb | 17 ++ task_list/config/secrets.yml | 32 +++ task_list/config/spring.rb | 6 + task_list/db/schema.rb | 18 ++ task_list/db/seeds.rb | 7 + task_list/lib/assets/.keep | 0 task_list/lib/tasks/.keep | 0 task_list/log/.keep | 0 task_list/package.json | 5 + task_list/public/404.html | 67 ++++++ task_list/public/422.html | 67 ++++++ task_list/public/500.html | 66 ++++++ .../public/apple-touch-icon-precomposed.png | 0 task_list/public/apple-touch-icon.png | 0 task_list/public/favicon.ico | 0 task_list/public/robots.txt | 1 + .../test/application_system_test_case.rb | 5 + task_list/test/controllers/.keep | 0 .../test/controllers/tasks_controller_test.rb | 39 ++++ task_list/test/fixtures/.keep | 0 task_list/test/fixtures/files/.keep | 0 task_list/test/helpers/.keep | 0 task_list/test/integration/.keep | 0 task_list/test/mailers/.keep | 0 task_list/test/models/.keep | 0 task_list/test/system/.keep | 0 task_list/test/test_helper.rb | 9 + task_list/tmp/.keep | 0 task_list/vendor/.keep | 0 89 files changed, 1368 insertions(+) create mode 100644 task_list/.gitignore create mode 100644 task_list/Gemfile create mode 100644 task_list/Gemfile.lock create mode 100644 task_list/README.md create mode 100644 task_list/Rakefile create mode 100644 task_list/app/assets/config/manifest.js create mode 100644 task_list/app/assets/images/.keep create mode 100644 task_list/app/assets/javascripts/application.js create mode 100644 task_list/app/assets/javascripts/cable.js create mode 100644 task_list/app/assets/javascripts/channels/.keep create mode 100644 task_list/app/assets/javascripts/tasks.coffee create mode 100644 task_list/app/assets/stylesheets/application.css create mode 100644 task_list/app/assets/stylesheets/tasks.scss create mode 100644 task_list/app/channels/application_cable/channel.rb create mode 100644 task_list/app/channels/application_cable/connection.rb create mode 100644 task_list/app/controllers/application_controller.rb create mode 100644 task_list/app/controllers/concerns/.keep create mode 100644 task_list/app/controllers/tasks_controller.rb create mode 100644 task_list/app/helpers/application_helper.rb create mode 100644 task_list/app/helpers/tasks_helper.rb create mode 100644 task_list/app/jobs/application_job.rb create mode 100644 task_list/app/mailers/application_mailer.rb create mode 100644 task_list/app/models/application_record.rb create mode 100644 task_list/app/models/concerns/.keep create mode 100644 task_list/app/views/layouts/application.html.erb create mode 100644 task_list/app/views/layouts/mailer.html.erb create mode 100644 task_list/app/views/layouts/mailer.text.erb create mode 100644 task_list/app/views/tasks/create.html.erb create mode 100644 task_list/app/views/tasks/destroy.html.erb create mode 100644 task_list/app/views/tasks/edit.html.erb create mode 100644 task_list/app/views/tasks/index.html.erb create mode 100644 task_list/app/views/tasks/new.html.erb create mode 100644 task_list/app/views/tasks/show.html.erb create mode 100644 task_list/app/views/tasks/update.html.erb create mode 100755 task_list/bin/bundle create mode 100755 task_list/bin/rails create mode 100755 task_list/bin/rake create mode 100755 task_list/bin/setup create mode 100755 task_list/bin/spring create mode 100755 task_list/bin/update create mode 100755 task_list/bin/yarn create mode 100644 task_list/config.ru create mode 100644 task_list/config/application.rb create mode 100644 task_list/config/boot.rb create mode 100644 task_list/config/cable.yml create mode 100644 task_list/config/database.yml create mode 100644 task_list/config/environment.rb create mode 100644 task_list/config/environments/development.rb create mode 100644 task_list/config/environments/production.rb create mode 100644 task_list/config/environments/test.rb create mode 100644 task_list/config/initializers/application_controller_renderer.rb create mode 100644 task_list/config/initializers/assets.rb create mode 100644 task_list/config/initializers/backtrace_silencers.rb create mode 100644 task_list/config/initializers/cookies_serializer.rb create mode 100644 task_list/config/initializers/filter_parameter_logging.rb create mode 100644 task_list/config/initializers/inflections.rb create mode 100644 task_list/config/initializers/mime_types.rb create mode 100644 task_list/config/initializers/wrap_parameters.rb create mode 100644 task_list/config/locales/en.yml create mode 100644 task_list/config/puma.rb create mode 100644 task_list/config/routes.rb create mode 100644 task_list/config/secrets.yml create mode 100644 task_list/config/spring.rb create mode 100644 task_list/db/schema.rb create mode 100644 task_list/db/seeds.rb create mode 100644 task_list/lib/assets/.keep create mode 100644 task_list/lib/tasks/.keep create mode 100644 task_list/log/.keep create mode 100644 task_list/package.json create mode 100644 task_list/public/404.html create mode 100644 task_list/public/422.html create mode 100644 task_list/public/500.html create mode 100644 task_list/public/apple-touch-icon-precomposed.png create mode 100644 task_list/public/apple-touch-icon.png create mode 100644 task_list/public/favicon.ico create mode 100644 task_list/public/robots.txt create mode 100644 task_list/test/application_system_test_case.rb create mode 100644 task_list/test/controllers/.keep create mode 100644 task_list/test/controllers/tasks_controller_test.rb create mode 100644 task_list/test/fixtures/.keep create mode 100644 task_list/test/fixtures/files/.keep create mode 100644 task_list/test/helpers/.keep create mode 100644 task_list/test/integration/.keep create mode 100644 task_list/test/mailers/.keep create mode 100644 task_list/test/models/.keep create mode 100644 task_list/test/system/.keep create mode 100644 task_list/test/test_helper.rb create mode 100644 task_list/tmp/.keep create mode 100644 task_list/vendor/.keep diff --git a/task_list/.gitignore b/task_list/.gitignore new file mode 100644 index 000000000..82701fedc --- /dev/null +++ b/task_list/.gitignore @@ -0,0 +1,19 @@ +# See https://help.github.com/articles/ignoring-files for more about ignoring files. +# +# If you find yourself ignoring temporary files generated by your text editor +# or operating system, you probably want to add a global ignore instead: +# git config --global core.excludesfile '~/.gitignore_global' + +# Ignore bundler config. +/.bundle + +# Ignore all logfiles and tempfiles. +/log/* +/tmp/* +!/log/.keep +!/tmp/.keep + +/node_modules +/yarn-error.log + +.byebug_history diff --git a/task_list/Gemfile b/task_list/Gemfile new file mode 100644 index 000000000..504af8615 --- /dev/null +++ b/task_list/Gemfile @@ -0,0 +1,54 @@ +source 'https://rubygems.org' + +git_source(:github) do |repo_name| + repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") + "https://github.com/#{repo_name}.git" +end + + +# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' +gem 'rails', '~> 5.1.4' +# Use postgresql as the database for Active Record +gem 'pg', '~> 0.18' +# Use Puma as the app server +gem 'puma', '~> 3.7' +# Use SCSS for stylesheets +gem 'sass-rails', '~> 5.0' +# Use Uglifier as compressor for JavaScript assets +gem 'uglifier', '>= 1.3.0' +# See https://github.com/rails/execjs#readme for more supported runtimes +# gem 'therubyracer', platforms: :ruby + +# Use CoffeeScript for .coffee assets and views +gem 'coffee-rails', '~> 4.2' +# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks +gem 'turbolinks', '~> 5' +# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder +gem 'jbuilder', '~> 2.5' +# Use Redis adapter to run Action Cable in production +# gem 'redis', '~> 3.0' +# Use ActiveModel has_secure_password +# gem 'bcrypt', '~> 3.1.7' + +# Use Capistrano for deployment +# gem 'capistrano-rails', group: :development + +group :development, :test do + # Call 'byebug' anywhere in the code to stop execution and get a debugger console + gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] + # Adds support for Capybara system testing and selenium driver + gem 'capybara', '~> 2.13' + gem 'selenium-webdriver' +end + +group :development do + # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. + gem 'web-console', '>= 3.3.0' + gem 'listen', '>= 3.0.5', '< 3.2' + # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring + gem 'spring' + gem 'spring-watcher-listen', '~> 2.0.0' +end + +# Windows does not include zoneinfo files, so bundle the tzinfo-data gem +gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] diff --git a/task_list/Gemfile.lock b/task_list/Gemfile.lock new file mode 100644 index 000000000..9ff8d7c6c --- /dev/null +++ b/task_list/Gemfile.lock @@ -0,0 +1,196 @@ +GEM + remote: https://rubygems.org/ + specs: + actioncable (5.1.4) + actionpack (= 5.1.4) + nio4r (~> 2.0) + websocket-driver (~> 0.6.1) + actionmailer (5.1.4) + actionpack (= 5.1.4) + actionview (= 5.1.4) + activejob (= 5.1.4) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (5.1.4) + actionview (= 5.1.4) + activesupport (= 5.1.4) + rack (~> 2.0) + rack-test (>= 0.6.3) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.2) + actionview (5.1.4) + activesupport (= 5.1.4) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activejob (5.1.4) + activesupport (= 5.1.4) + globalid (>= 0.3.6) + activemodel (5.1.4) + activesupport (= 5.1.4) + activerecord (5.1.4) + activemodel (= 5.1.4) + activesupport (= 5.1.4) + arel (~> 8.0) + activesupport (5.1.4) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (~> 0.7) + minitest (~> 5.1) + tzinfo (~> 1.1) + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) + arel (8.0.0) + bindex (0.5.0) + builder (3.2.3) + byebug (9.1.0) + capybara (2.15.1) + addressable + mini_mime (>= 0.1.3) + nokogiri (>= 1.3.3) + rack (>= 1.0.0) + rack-test (>= 0.5.4) + xpath (~> 2.0) + childprocess (0.7.1) + ffi (~> 1.0, >= 1.0.11) + coffee-rails (4.2.2) + coffee-script (>= 2.2.0) + railties (>= 4.0.0) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + concurrent-ruby (1.0.5) + erubi (1.6.1) + execjs (2.7.0) + ffi (1.9.18) + globalid (0.4.0) + activesupport (>= 4.2.0) + i18n (0.8.6) + jbuilder (2.7.0) + activesupport (>= 4.2.0) + multi_json (>= 1.2) + listen (3.1.5) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + ruby_dep (~> 1.2) + loofah (2.0.3) + nokogiri (>= 1.5.9) + mail (2.6.6) + mime-types (>= 1.16, < 4) + method_source (0.8.2) + mime-types (3.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2016.0521) + mini_mime (0.1.4) + mini_portile2 (2.2.0) + minitest (5.10.3) + multi_json (1.12.2) + nio4r (2.1.0) + nokogiri (1.8.0) + mini_portile2 (~> 2.2.0) + pg (0.21.0) + public_suffix (3.0.0) + puma (3.10.0) + rack (2.0.3) + rack-test (0.7.0) + rack (>= 1.0, < 3) + rails (5.1.4) + actioncable (= 5.1.4) + actionmailer (= 5.1.4) + actionpack (= 5.1.4) + actionview (= 5.1.4) + activejob (= 5.1.4) + activemodel (= 5.1.4) + activerecord (= 5.1.4) + activesupport (= 5.1.4) + bundler (>= 1.3.0) + railties (= 5.1.4) + sprockets-rails (>= 2.0.0) + rails-dom-testing (2.0.3) + activesupport (>= 4.2.0) + nokogiri (>= 1.6) + rails-html-sanitizer (1.0.3) + loofah (~> 2.0) + railties (5.1.4) + actionpack (= 5.1.4) + activesupport (= 5.1.4) + method_source + rake (>= 0.8.7) + thor (>= 0.18.1, < 2.0) + rake (12.1.0) + rb-fsevent (0.10.2) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + ruby_dep (1.5.0) + rubyzip (1.2.1) + sass (3.5.1) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sass-rails (5.0.6) + railties (>= 4.0.0, < 6) + sass (~> 3.1) + sprockets (>= 2.8, < 4.0) + sprockets-rails (>= 2.0, < 4.0) + tilt (>= 1.1, < 3) + selenium-webdriver (3.5.2) + childprocess (~> 0.5) + rubyzip (~> 1.0) + spring (2.0.2) + activesupport (>= 4.2) + spring-watcher-listen (2.0.1) + listen (>= 2.7, < 4.0) + spring (>= 1.2, < 3.0) + sprockets (3.7.1) + concurrent-ruby (~> 1.0) + rack (> 1, < 3) + sprockets-rails (3.2.1) + actionpack (>= 4.0) + activesupport (>= 4.0) + sprockets (>= 3.0.0) + thor (0.20.0) + thread_safe (0.3.6) + tilt (2.0.8) + turbolinks (5.0.1) + turbolinks-source (~> 5) + turbolinks-source (5.0.3) + tzinfo (1.2.3) + thread_safe (~> 0.1) + uglifier (3.2.0) + execjs (>= 0.3.0, < 3) + web-console (3.5.1) + actionview (>= 5.0) + activemodel (>= 5.0) + bindex (>= 0.4.0) + railties (>= 5.0) + websocket-driver (0.6.5) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.2) + xpath (2.1.0) + nokogiri (~> 1.3) + +PLATFORMS + ruby + +DEPENDENCIES + byebug + capybara (~> 2.13) + coffee-rails (~> 4.2) + jbuilder (~> 2.5) + listen (>= 3.0.5, < 3.2) + pg (~> 0.18) + puma (~> 3.7) + rails (~> 5.1.4) + sass-rails (~> 5.0) + selenium-webdriver + spring + spring-watcher-listen (~> 2.0.0) + turbolinks (~> 5) + tzinfo-data + uglifier (>= 1.3.0) + web-console (>= 3.3.0) + +BUNDLED WITH + 1.15.4 diff --git a/task_list/README.md b/task_list/README.md new file mode 100644 index 000000000..7db80e4ca --- /dev/null +++ b/task_list/README.md @@ -0,0 +1,24 @@ +# README + +This README would normally document whatever steps are necessary to get the +application up and running. + +Things you may want to cover: + +* Ruby version + +* System dependencies + +* Configuration + +* Database creation + +* Database initialization + +* How to run the test suite + +* Services (job queues, cache servers, search engines, etc.) + +* Deployment instructions + +* ... diff --git a/task_list/Rakefile b/task_list/Rakefile new file mode 100644 index 000000000..e85f91391 --- /dev/null +++ b/task_list/Rakefile @@ -0,0 +1,6 @@ +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require_relative 'config/application' + +Rails.application.load_tasks diff --git a/task_list/app/assets/config/manifest.js b/task_list/app/assets/config/manifest.js new file mode 100644 index 000000000..b16e53d6d --- /dev/null +++ b/task_list/app/assets/config/manifest.js @@ -0,0 +1,3 @@ +//= link_tree ../images +//= link_directory ../javascripts .js +//= link_directory ../stylesheets .css diff --git a/task_list/app/assets/images/.keep b/task_list/app/assets/images/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/app/assets/javascripts/application.js b/task_list/app/assets/javascripts/application.js new file mode 100644 index 000000000..46b20359f --- /dev/null +++ b/task_list/app/assets/javascripts/application.js @@ -0,0 +1,15 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's +// vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. JavaScript code in this file should be added after the last require_* statement. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// +//= require rails-ujs +//= require turbolinks +//= require_tree . diff --git a/task_list/app/assets/javascripts/cable.js b/task_list/app/assets/javascripts/cable.js new file mode 100644 index 000000000..739aa5f02 --- /dev/null +++ b/task_list/app/assets/javascripts/cable.js @@ -0,0 +1,13 @@ +// Action Cable provides the framework to deal with WebSockets in Rails. +// You can generate new channels where WebSocket features live using the `rails generate channel` command. +// +//= require action_cable +//= require_self +//= require_tree ./channels + +(function() { + this.App || (this.App = {}); + + App.cable = ActionCable.createConsumer(); + +}).call(this); diff --git a/task_list/app/assets/javascripts/channels/.keep b/task_list/app/assets/javascripts/channels/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/app/assets/javascripts/tasks.coffee b/task_list/app/assets/javascripts/tasks.coffee new file mode 100644 index 000000000..24f83d18b --- /dev/null +++ b/task_list/app/assets/javascripts/tasks.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/task_list/app/assets/stylesheets/application.css b/task_list/app/assets/stylesheets/application.css new file mode 100644 index 000000000..d05ea0f51 --- /dev/null +++ b/task_list/app/assets/stylesheets/application.css @@ -0,0 +1,15 @@ +/* + * This is a manifest file that'll be compiled into application.css, which will include all the files + * listed below. + * + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's + * vendor/assets/stylesheets directory can be referenced here using a relative path. + * + * You're free to add application-wide styles to this file and they'll appear at the bottom of the + * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS + * files in this directory. Styles in this file should be added after the last require_* statement. + * It is generally better to create a new file per style scope. + * + *= require_tree . + *= require_self + */ diff --git a/task_list/app/assets/stylesheets/tasks.scss b/task_list/app/assets/stylesheets/tasks.scss new file mode 100644 index 000000000..c5e7712d4 --- /dev/null +++ b/task_list/app/assets/stylesheets/tasks.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the Tasks controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/task_list/app/channels/application_cable/channel.rb b/task_list/app/channels/application_cable/channel.rb new file mode 100644 index 000000000..d67269728 --- /dev/null +++ b/task_list/app/channels/application_cable/channel.rb @@ -0,0 +1,4 @@ +module ApplicationCable + class Channel < ActionCable::Channel::Base + end +end diff --git a/task_list/app/channels/application_cable/connection.rb b/task_list/app/channels/application_cable/connection.rb new file mode 100644 index 000000000..0ff5442f4 --- /dev/null +++ b/task_list/app/channels/application_cable/connection.rb @@ -0,0 +1,4 @@ +module ApplicationCable + class Connection < ActionCable::Connection::Base + end +end diff --git a/task_list/app/controllers/application_controller.rb b/task_list/app/controllers/application_controller.rb new file mode 100644 index 000000000..1c07694e9 --- /dev/null +++ b/task_list/app/controllers/application_controller.rb @@ -0,0 +1,3 @@ +class ApplicationController < ActionController::Base + protect_from_forgery with: :exception +end diff --git a/task_list/app/controllers/concerns/.keep b/task_list/app/controllers/concerns/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/app/controllers/tasks_controller.rb b/task_list/app/controllers/tasks_controller.rb new file mode 100644 index 000000000..f1fb99115 --- /dev/null +++ b/task_list/app/controllers/tasks_controller.rb @@ -0,0 +1,22 @@ +class TasksController < ApplicationController + def new + end + + def index + end + + def edit + end + + def update + end + + def destroy + end + + def create + end + + def show + end +end diff --git a/task_list/app/helpers/application_helper.rb b/task_list/app/helpers/application_helper.rb new file mode 100644 index 000000000..de6be7945 --- /dev/null +++ b/task_list/app/helpers/application_helper.rb @@ -0,0 +1,2 @@ +module ApplicationHelper +end diff --git a/task_list/app/helpers/tasks_helper.rb b/task_list/app/helpers/tasks_helper.rb new file mode 100644 index 000000000..ce894d00c --- /dev/null +++ b/task_list/app/helpers/tasks_helper.rb @@ -0,0 +1,2 @@ +module TasksHelper +end diff --git a/task_list/app/jobs/application_job.rb b/task_list/app/jobs/application_job.rb new file mode 100644 index 000000000..a009ace51 --- /dev/null +++ b/task_list/app/jobs/application_job.rb @@ -0,0 +1,2 @@ +class ApplicationJob < ActiveJob::Base +end diff --git a/task_list/app/mailers/application_mailer.rb b/task_list/app/mailers/application_mailer.rb new file mode 100644 index 000000000..286b2239d --- /dev/null +++ b/task_list/app/mailers/application_mailer.rb @@ -0,0 +1,4 @@ +class ApplicationMailer < ActionMailer::Base + default from: 'from@example.com' + layout 'mailer' +end diff --git a/task_list/app/models/application_record.rb b/task_list/app/models/application_record.rb new file mode 100644 index 000000000..10a4cba84 --- /dev/null +++ b/task_list/app/models/application_record.rb @@ -0,0 +1,3 @@ +class ApplicationRecord < ActiveRecord::Base + self.abstract_class = true +end diff --git a/task_list/app/models/concerns/.keep b/task_list/app/models/concerns/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/app/views/layouts/application.html.erb b/task_list/app/views/layouts/application.html.erb new file mode 100644 index 000000000..be7a9f069 --- /dev/null +++ b/task_list/app/views/layouts/application.html.erb @@ -0,0 +1,14 @@ + + + + TaskList + <%= csrf_meta_tags %> + + <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> + + + + <%= yield %> + + diff --git a/task_list/app/views/layouts/mailer.html.erb b/task_list/app/views/layouts/mailer.html.erb new file mode 100644 index 000000000..cbd34d2e9 --- /dev/null +++ b/task_list/app/views/layouts/mailer.html.erb @@ -0,0 +1,13 @@ + + + + + + + + + <%= yield %> + + diff --git a/task_list/app/views/layouts/mailer.text.erb b/task_list/app/views/layouts/mailer.text.erb new file mode 100644 index 000000000..37f0bddbd --- /dev/null +++ b/task_list/app/views/layouts/mailer.text.erb @@ -0,0 +1 @@ +<%= yield %> diff --git a/task_list/app/views/tasks/create.html.erb b/task_list/app/views/tasks/create.html.erb new file mode 100644 index 000000000..fcad439c4 --- /dev/null +++ b/task_list/app/views/tasks/create.html.erb @@ -0,0 +1,2 @@ +

Tasks#create

+

Find me in app/views/tasks/create.html.erb

diff --git a/task_list/app/views/tasks/destroy.html.erb b/task_list/app/views/tasks/destroy.html.erb new file mode 100644 index 000000000..a90559f9d --- /dev/null +++ b/task_list/app/views/tasks/destroy.html.erb @@ -0,0 +1,2 @@ +

Tasks#destroy

+

Find me in app/views/tasks/destroy.html.erb

diff --git a/task_list/app/views/tasks/edit.html.erb b/task_list/app/views/tasks/edit.html.erb new file mode 100644 index 000000000..374190308 --- /dev/null +++ b/task_list/app/views/tasks/edit.html.erb @@ -0,0 +1,2 @@ +

Tasks#edit

+

Find me in app/views/tasks/edit.html.erb

diff --git a/task_list/app/views/tasks/index.html.erb b/task_list/app/views/tasks/index.html.erb new file mode 100644 index 000000000..b16c10310 --- /dev/null +++ b/task_list/app/views/tasks/index.html.erb @@ -0,0 +1,2 @@ +

Tasks#index

+

Find me in app/views/tasks/index.html.erb

diff --git a/task_list/app/views/tasks/new.html.erb b/task_list/app/views/tasks/new.html.erb new file mode 100644 index 000000000..2484008a3 --- /dev/null +++ b/task_list/app/views/tasks/new.html.erb @@ -0,0 +1,2 @@ +

Tasks#new

+

Find me in app/views/tasks/new.html.erb

diff --git a/task_list/app/views/tasks/show.html.erb b/task_list/app/views/tasks/show.html.erb new file mode 100644 index 000000000..1139224db --- /dev/null +++ b/task_list/app/views/tasks/show.html.erb @@ -0,0 +1,2 @@ +

Tasks#show

+

Find me in app/views/tasks/show.html.erb

diff --git a/task_list/app/views/tasks/update.html.erb b/task_list/app/views/tasks/update.html.erb new file mode 100644 index 000000000..fdb1ea609 --- /dev/null +++ b/task_list/app/views/tasks/update.html.erb @@ -0,0 +1,2 @@ +

Tasks#update

+

Find me in app/views/tasks/update.html.erb

diff --git a/task_list/bin/bundle b/task_list/bin/bundle new file mode 100755 index 000000000..66e9889e8 --- /dev/null +++ b/task_list/bin/bundle @@ -0,0 +1,3 @@ +#!/usr/bin/env ruby +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) +load Gem.bin_path('bundler', 'bundle') diff --git a/task_list/bin/rails b/task_list/bin/rails new file mode 100755 index 000000000..5badb2fde --- /dev/null +++ b/task_list/bin/rails @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +begin + load File.expand_path('../spring', __FILE__) +rescue LoadError => e + raise unless e.message.include?('spring') +end +APP_PATH = File.expand_path('../config/application', __dir__) +require_relative '../config/boot' +require 'rails/commands' diff --git a/task_list/bin/rake b/task_list/bin/rake new file mode 100755 index 000000000..d87d5f578 --- /dev/null +++ b/task_list/bin/rake @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +begin + load File.expand_path('../spring', __FILE__) +rescue LoadError => e + raise unless e.message.include?('spring') +end +require_relative '../config/boot' +require 'rake' +Rake.application.run diff --git a/task_list/bin/setup b/task_list/bin/setup new file mode 100755 index 000000000..78c4e861d --- /dev/null +++ b/task_list/bin/setup @@ -0,0 +1,38 @@ +#!/usr/bin/env ruby +require 'pathname' +require 'fileutils' +include FileUtils + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script is a starting point to setup your application. + # Add necessary setup steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + # Install JavaScript dependencies if using Yarn + # system('bin/yarn') + + + # puts "\n== Copying sample files ==" + # unless File.exist?('config/database.yml') + # cp 'config/database.yml.sample', 'config/database.yml' + # end + + puts "\n== Preparing database ==" + system! 'bin/rails db:setup' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/task_list/bin/spring b/task_list/bin/spring new file mode 100755 index 000000000..fb2ec2ebb --- /dev/null +++ b/task_list/bin/spring @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby + +# This file loads spring without using Bundler, in order to be fast. +# It gets overwritten when you run the `spring binstub` command. + +unless defined?(Spring) + require 'rubygems' + require 'bundler' + + lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read) + spring = lockfile.specs.detect { |spec| spec.name == "spring" } + if spring + Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path + gem 'spring', spring.version + require 'spring/binstub' + end +end diff --git a/task_list/bin/update b/task_list/bin/update new file mode 100755 index 000000000..a8e4462f2 --- /dev/null +++ b/task_list/bin/update @@ -0,0 +1,29 @@ +#!/usr/bin/env ruby +require 'pathname' +require 'fileutils' +include FileUtils + +# path to your application root. +APP_ROOT = Pathname.new File.expand_path('../../', __FILE__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +chdir APP_ROOT do + # This script is a way to update your development environment automatically. + # Add necessary update steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + puts "\n== Updating database ==" + system! 'bin/rails db:migrate' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/task_list/bin/yarn b/task_list/bin/yarn new file mode 100755 index 000000000..c2bacef83 --- /dev/null +++ b/task_list/bin/yarn @@ -0,0 +1,11 @@ +#!/usr/bin/env ruby +VENDOR_PATH = File.expand_path('..', __dir__) +Dir.chdir(VENDOR_PATH) do + begin + exec "yarnpkg #{ARGV.join(" ")}" + rescue Errno::ENOENT + $stderr.puts "Yarn executable was not detected in the system." + $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install" + exit 1 + end +end diff --git a/task_list/config.ru b/task_list/config.ru new file mode 100644 index 000000000..f7ba0b527 --- /dev/null +++ b/task_list/config.ru @@ -0,0 +1,5 @@ +# This file is used by Rack-based servers to start the application. + +require_relative 'config/environment' + +run Rails.application diff --git a/task_list/config/application.rb b/task_list/config/application.rb new file mode 100644 index 000000000..16136d34f --- /dev/null +++ b/task_list/config/application.rb @@ -0,0 +1,18 @@ +require_relative 'boot' + +require 'rails/all' + +# Require the gems listed in Gemfile, including any gems +# you've limited to :test, :development, or :production. +Bundler.require(*Rails.groups) + +module TaskList + class Application < Rails::Application + # Initialize configuration defaults for originally generated Rails version. + config.load_defaults 5.1 + + # Settings in config/environments/* take precedence over those specified here. + # Application configuration should go into files in config/initializers + # -- all .rb files in that directory are automatically loaded. + end +end diff --git a/task_list/config/boot.rb b/task_list/config/boot.rb new file mode 100644 index 000000000..30f5120df --- /dev/null +++ b/task_list/config/boot.rb @@ -0,0 +1,3 @@ +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) + +require 'bundler/setup' # Set up gems listed in the Gemfile. diff --git a/task_list/config/cable.yml b/task_list/config/cable.yml new file mode 100644 index 000000000..3f0773812 --- /dev/null +++ b/task_list/config/cable.yml @@ -0,0 +1,10 @@ +development: + adapter: async + +test: + adapter: async + +production: + adapter: redis + url: redis://localhost:6379/1 + channel_prefix: task_list_production diff --git a/task_list/config/database.yml b/task_list/config/database.yml new file mode 100644 index 000000000..3ce041393 --- /dev/null +++ b/task_list/config/database.yml @@ -0,0 +1,85 @@ +# PostgreSQL. Versions 9.1 and up are supported. +# +# Install the pg driver: +# gem install pg +# On OS X with Homebrew: +# gem install pg -- --with-pg-config=/usr/local/bin/pg_config +# On OS X with MacPorts: +# gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config +# On Windows: +# gem install pg +# Choose the win32 build. +# Install PostgreSQL and put its /bin directory on your path. +# +# Configure Using Gemfile +# gem 'pg' +# +default: &default + adapter: postgresql + encoding: unicode + # For details on connection pooling, see Rails configuration guide + # http://guides.rubyonrails.org/configuring.html#database-pooling + pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> + +development: + <<: *default + database: task_list_development + + # The specified database role being used to connect to postgres. + # To create additional roles in postgres see `$ createuser --help`. + # When left blank, postgres will use the default role. This is + # the same name as the operating system user that initialized the database. + #username: task_list + + # The password associated with the postgres role (username). + #password: + + # Connect on a TCP socket. Omitted by default since the client uses a + # domain socket that doesn't need configuration. Windows does not have + # domain sockets, so uncomment these lines. + #host: localhost + + # The TCP port the server listens on. Defaults to 5432. + # If your server runs on a different port number, change accordingly. + #port: 5432 + + # Schema search path. The server defaults to $user,public + #schema_search_path: myapp,sharedapp,public + + # Minimum log levels, in increasing order: + # debug5, debug4, debug3, debug2, debug1, + # log, notice, warning, error, fatal, and panic + # Defaults to warning. + #min_messages: notice + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + <<: *default + database: task_list_test + +# As with config/secrets.yml, you never want to store sensitive information, +# like your database password, in your source code. If your source code is +# ever seen by anyone, they now have access to your database. +# +# Instead, provide the password as a unix environment variable when you boot +# the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database +# for a full rundown on how to provide these environment variables in a +# production deployment. +# +# On Heroku and other platform providers, you may have a full connection URL +# available as an environment variable. For example: +# +# DATABASE_URL="postgres://myuser:mypass@localhost/somedatabase" +# +# You can use this database configuration with: +# +# production: +# url: <%= ENV['DATABASE_URL'] %> +# +production: + <<: *default + database: task_list_production + username: task_list + password: <%= ENV['TASK_LIST_DATABASE_PASSWORD'] %> diff --git a/task_list/config/environment.rb b/task_list/config/environment.rb new file mode 100644 index 000000000..426333bb4 --- /dev/null +++ b/task_list/config/environment.rb @@ -0,0 +1,5 @@ +# Load the Rails application. +require_relative 'application' + +# Initialize the Rails application. +Rails.application.initialize! diff --git a/task_list/config/environments/development.rb b/task_list/config/environments/development.rb new file mode 100644 index 000000000..5187e2218 --- /dev/null +++ b/task_list/config/environments/development.rb @@ -0,0 +1,54 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the web server when you make code changes. + config.cache_classes = false + + # Do not eager load code on boot. + config.eager_load = false + + # Show full error reports. + config.consider_all_requests_local = true + + # Enable/disable caching. By default caching is disabled. + if Rails.root.join('tmp/caching-dev.txt').exist? + config.action_controller.perform_caching = true + + config.cache_store = :memory_store + config.public_file_server.headers = { + 'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}" + } + else + config.action_controller.perform_caching = false + + config.cache_store = :null_store + end + + # Don't care if the mailer can't send. + config.action_mailer.raise_delivery_errors = false + + config.action_mailer.perform_caching = false + + # Print deprecation notices to the Rails logger. + config.active_support.deprecation = :log + + # Raise an error on page load if there are pending migrations. + config.active_record.migration_error = :page_load + + # Debug mode disables concatenation and preprocessing of assets. + # This option may cause significant delays in view rendering with a large + # number of complex assets. + config.assets.debug = true + + # Suppress logger output for asset requests. + config.assets.quiet = true + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true + + # Use an evented file watcher to asynchronously detect changes in source code, + # routes, locales, etc. This feature depends on the listen gem. + config.file_watcher = ActiveSupport::EventedFileUpdateChecker +end diff --git a/task_list/config/environments/production.rb b/task_list/config/environments/production.rb new file mode 100644 index 000000000..ece71ab7a --- /dev/null +++ b/task_list/config/environments/production.rb @@ -0,0 +1,91 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # Code is not reloaded between requests. + config.cache_classes = true + + # Eager load code on boot. This eager loads most of Rails and + # your application in memory, allowing both threaded web servers + # and those relying on copy on write to perform better. + # Rake tasks automatically ignore this option for performance. + config.eager_load = true + + # Full error reports are disabled and caching is turned on. + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Attempt to read encrypted secrets from `config/secrets.yml.enc`. + # Requires an encryption key in `ENV["RAILS_MASTER_KEY"]` or + # `config/secrets.yml.key`. + config.read_encrypted_secrets = true + + # Disable serving static files from the `/public` folder by default since + # Apache or NGINX already handles this. + config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? + + # Compress JavaScripts and CSS. + config.assets.js_compressor = :uglifier + # config.assets.css_compressor = :sass + + # Do not fallback to assets pipeline if a precompiled asset is missed. + config.assets.compile = false + + # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb + + # Enable serving of images, stylesheets, and JavaScripts from an asset server. + # config.action_controller.asset_host = 'http://assets.example.com' + + # Specifies the header that your server uses for sending files. + # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX + + # Mount Action Cable outside main process or domain + # config.action_cable.mount_path = nil + # config.action_cable.url = 'wss://example.com/cable' + # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ] + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # Use the lowest log level to ensure availability of diagnostic information + # when problems arise. + config.log_level = :debug + + # Prepend all log lines with the following tags. + config.log_tags = [ :request_id ] + + # Use a different cache store in production. + # config.cache_store = :mem_cache_store + + # Use a real queuing backend for Active Job (and separate queues per environment) + # config.active_job.queue_adapter = :resque + # config.active_job.queue_name_prefix = "task_list_#{Rails.env}" + config.action_mailer.perform_caching = false + + # Ignore bad email addresses and do not raise email delivery errors. + # Set this to true and configure the email server for immediate delivery to raise delivery errors. + # config.action_mailer.raise_delivery_errors = false + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation cannot be found). + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners. + config.active_support.deprecation = :notify + + # Use default logging formatter so that PID and timestamp are not suppressed. + config.log_formatter = ::Logger::Formatter.new + + # Use a different logger for distributed setups. + # require 'syslog/logger' + # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name') + + if ENV["RAILS_LOG_TO_STDOUT"].present? + logger = ActiveSupport::Logger.new(STDOUT) + logger.formatter = config.log_formatter + config.logger = ActiveSupport::TaggedLogging.new(logger) + end + + # Do not dump schema after migrations. + config.active_record.dump_schema_after_migration = false +end diff --git a/task_list/config/environments/test.rb b/task_list/config/environments/test.rb new file mode 100644 index 000000000..8e5cbde53 --- /dev/null +++ b/task_list/config/environments/test.rb @@ -0,0 +1,42 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # The test environment is used exclusively to run your application's + # test suite. You never need to work with it otherwise. Remember that + # your test database is "scratch space" for the test suite and is wiped + # and recreated between test runs. Don't rely on the data there! + config.cache_classes = true + + # Do not eager load code on boot. This avoids loading your whole application + # just for the purpose of running a single test. If you are using a tool that + # preloads Rails for running tests, you may have to set it to true. + config.eager_load = false + + # Configure public file server for tests with Cache-Control for performance. + config.public_file_server.enabled = true + config.public_file_server.headers = { + 'Cache-Control' => "public, max-age=#{1.hour.seconds.to_i}" + } + + # Show full error reports and disable caching. + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + + # Raise exceptions instead of rendering exception templates. + config.action_dispatch.show_exceptions = false + + # Disable request forgery protection in test environment. + config.action_controller.allow_forgery_protection = false + config.action_mailer.perform_caching = false + + # Tell Action Mailer not to deliver emails to the real world. + # The :test delivery method accumulates sent emails in the + # ActionMailer::Base.deliveries array. + config.action_mailer.delivery_method = :test + + # Print deprecation notices to the stderr. + config.active_support.deprecation = :stderr + + # Raises error for missing translations + # config.action_view.raise_on_missing_translations = true +end diff --git a/task_list/config/initializers/application_controller_renderer.rb b/task_list/config/initializers/application_controller_renderer.rb new file mode 100644 index 000000000..89d2efab2 --- /dev/null +++ b/task_list/config/initializers/application_controller_renderer.rb @@ -0,0 +1,8 @@ +# Be sure to restart your server when you modify this file. + +# ActiveSupport::Reloader.to_prepare do +# ApplicationController.renderer.defaults.merge!( +# http_host: 'example.org', +# https: false +# ) +# end diff --git a/task_list/config/initializers/assets.rb b/task_list/config/initializers/assets.rb new file mode 100644 index 000000000..4b828e80c --- /dev/null +++ b/task_list/config/initializers/assets.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. + +# Version of your assets, change this if you want to expire all your assets. +Rails.application.config.assets.version = '1.0' + +# Add additional assets to the asset load path. +# Rails.application.config.assets.paths << Emoji.images_path +# Add Yarn node_modules folder to the asset load path. +Rails.application.config.assets.paths << Rails.root.join('node_modules') + +# Precompile additional assets. +# application.js, application.css, and all non-JS/CSS in the app/assets +# folder are already added. +# Rails.application.config.assets.precompile += %w( admin.js admin.css ) diff --git a/task_list/config/initializers/backtrace_silencers.rb b/task_list/config/initializers/backtrace_silencers.rb new file mode 100644 index 000000000..59385cdf3 --- /dev/null +++ b/task_list/config/initializers/backtrace_silencers.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } + +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. +# Rails.backtrace_cleaner.remove_silencers! diff --git a/task_list/config/initializers/cookies_serializer.rb b/task_list/config/initializers/cookies_serializer.rb new file mode 100644 index 000000000..5a6a32d37 --- /dev/null +++ b/task_list/config/initializers/cookies_serializer.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. + +# Specify a serializer for the signed and encrypted cookie jars. +# Valid options are :json, :marshal, and :hybrid. +Rails.application.config.action_dispatch.cookies_serializer = :json diff --git a/task_list/config/initializers/filter_parameter_logging.rb b/task_list/config/initializers/filter_parameter_logging.rb new file mode 100644 index 000000000..4a994e1e7 --- /dev/null +++ b/task_list/config/initializers/filter_parameter_logging.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Configure sensitive parameters which will be filtered from the log file. +Rails.application.config.filter_parameters += [:password] diff --git a/task_list/config/initializers/inflections.rb b/task_list/config/initializers/inflections.rb new file mode 100644 index 000000000..ac033bf9d --- /dev/null +++ b/task_list/config/initializers/inflections.rb @@ -0,0 +1,16 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format. Inflections +# are locale specific, and you may define rules for as many different +# locales as you wish. All of these examples are active by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.plural /^(ox)$/i, '\1en' +# inflect.singular /^(ox)en/i, '\1' +# inflect.irregular 'person', 'people' +# inflect.uncountable %w( fish sheep ) +# end + +# These inflection rules are supported but not enabled by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.acronym 'RESTful' +# end diff --git a/task_list/config/initializers/mime_types.rb b/task_list/config/initializers/mime_types.rb new file mode 100644 index 000000000..dc1899682 --- /dev/null +++ b/task_list/config/initializers/mime_types.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf diff --git a/task_list/config/initializers/wrap_parameters.rb b/task_list/config/initializers/wrap_parameters.rb new file mode 100644 index 000000000..bbfc3961b --- /dev/null +++ b/task_list/config/initializers/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. + +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do + wrap_parameters format: [:json] +end + +# To enable root element in JSON for ActiveRecord objects. +# ActiveSupport.on_load(:active_record) do +# self.include_root_in_json = true +# end diff --git a/task_list/config/locales/en.yml b/task_list/config/locales/en.yml new file mode 100644 index 000000000..decc5a857 --- /dev/null +++ b/task_list/config/locales/en.yml @@ -0,0 +1,33 @@ +# Files in the config/locales directory are used for internationalization +# and are automatically loaded by Rails. If you want to use locales other +# than English, add the necessary files in this directory. +# +# To use the locales, use `I18n.t`: +# +# I18n.t 'hello' +# +# In views, this is aliased to just `t`: +# +# <%= t('hello') %> +# +# To use a different locale, set it with `I18n.locale`: +# +# I18n.locale = :es +# +# This would use the information in config/locales/es.yml. +# +# The following keys must be escaped otherwise they will not be retrieved by +# the default I18n backend: +# +# true, false, on, off, yes, no +# +# Instead, surround them with single quotes. +# +# en: +# 'true': 'foo' +# +# To learn more, please read the Rails Internationalization guide +# available at http://guides.rubyonrails.org/i18n.html. + +en: + hello: "Hello world" diff --git a/task_list/config/puma.rb b/task_list/config/puma.rb new file mode 100644 index 000000000..1e19380dc --- /dev/null +++ b/task_list/config/puma.rb @@ -0,0 +1,56 @@ +# Puma can serve each request in a thread from an internal thread pool. +# The `threads` method setting takes two numbers: a minimum and maximum. +# Any libraries that use thread pools should be configured to match +# the maximum value specified for Puma. Default is set to 5 threads for minimum +# and maximum; this matches the default thread size of Active Record. +# +threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 } +threads threads_count, threads_count + +# Specifies the `port` that Puma will listen on to receive requests; default is 3000. +# +port ENV.fetch("PORT") { 3000 } + +# Specifies the `environment` that Puma will run in. +# +environment ENV.fetch("RAILS_ENV") { "development" } + +# Specifies the number of `workers` to boot in clustered mode. +# Workers are forked webserver processes. If using threads and workers together +# the concurrency of the application would be max `threads` * `workers`. +# Workers do not work on JRuby or Windows (both of which do not support +# processes). +# +# workers ENV.fetch("WEB_CONCURRENCY") { 2 } + +# Use the `preload_app!` method when specifying a `workers` number. +# This directive tells Puma to first boot the application and load code +# before forking the application. This takes advantage of Copy On Write +# process behavior so workers use less memory. If you use this option +# you need to make sure to reconnect any threads in the `on_worker_boot` +# block. +# +# preload_app! + +# If you are preloading your application and using Active Record, it's +# recommended that you close any connections to the database before workers +# are forked to prevent connection leakage. +# +# before_fork do +# ActiveRecord::Base.connection_pool.disconnect! if defined?(ActiveRecord) +# end + +# The code in the `on_worker_boot` will be called if you are using +# clustered mode by specifying a number of `workers`. After each worker +# process is booted, this block will be run. If you are using the `preload_app!` +# option, you will want to use this block to reconnect to any threads +# or connections that may have been created at application boot, as Ruby +# cannot share connections between processes. +# +# on_worker_boot do +# ActiveRecord::Base.establish_connection if defined?(ActiveRecord) +# end +# + +# Allow puma to be restarted by `rails restart` command. +plugin :tmp_restart diff --git a/task_list/config/routes.rb b/task_list/config/routes.rb new file mode 100644 index 000000000..4db21e1ab --- /dev/null +++ b/task_list/config/routes.rb @@ -0,0 +1,17 @@ +Rails.application.routes.draw do + get 'tasks/new' + + get 'tasks/index' + + get 'tasks/edit' + + get 'tasks/update' + + get 'tasks/destroy' + + get 'tasks/create' + + get 'tasks/show' + + # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html +end diff --git a/task_list/config/secrets.yml b/task_list/config/secrets.yml new file mode 100644 index 000000000..34aaa36f8 --- /dev/null +++ b/task_list/config/secrets.yml @@ -0,0 +1,32 @@ +# Be sure to restart your server when you modify this file. + +# Your secret key is used for verifying the integrity of signed cookies. +# If you change this key, all old signed cookies will become invalid! + +# Make sure the secret is at least 30 characters and all random, +# no regular words or you'll be exposed to dictionary attacks. +# You can use `rails secret` to generate a secure secret key. + +# Make sure the secrets in this file are kept private +# if you're sharing your code publicly. + +# Shared secrets are available across all environments. + +# shared: +# api_key: a1B2c3D4e5F6 + +# Environmental secrets are only available for that specific environment. + +development: + secret_key_base: aa575590ff1c561415832f8a8223a7e1762154f35bba6f0fc39d25d806050a6192cf5ae15566138cb0702043ec7b34897c2ba0e1efe99c21d0a1f0d404f30903 + +test: + secret_key_base: ff57acfc2058ec4db594b5fae35a57fe1a2ff340a4a865325921c4a61b2a66dc874350cd6b455e8610814ae3a441c81f4f2fe0dec91b81225160820f619a2587 + +# Do not keep production secrets in the unencrypted secrets file. +# Instead, either read values from the environment. +# Or, use `bin/rails secrets:setup` to configure encrypted secrets +# and move the `production:` environment over there. + +production: + secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> diff --git a/task_list/config/spring.rb b/task_list/config/spring.rb new file mode 100644 index 000000000..c9119b40c --- /dev/null +++ b/task_list/config/spring.rb @@ -0,0 +1,6 @@ +%w( + .ruby-version + .rbenv-vars + tmp/restart.txt + tmp/caching-dev.txt +).each { |path| Spring.watch(path) } diff --git a/task_list/db/schema.rb b/task_list/db/schema.rb new file mode 100644 index 000000000..2611543b3 --- /dev/null +++ b/task_list/db/schema.rb @@ -0,0 +1,18 @@ +# This file is auto-generated from the current state of the database. Instead +# of editing this file, please use the migrations feature of Active Record to +# incrementally modify your database, and then regenerate this schema definition. +# +# Note that this schema.rb definition is the authoritative source for your +# database schema. If you need to create the application database on another +# system, you should be using db:schema:load, not running all the migrations +# from scratch. The latter is a flawed and unsustainable approach (the more migrations +# you'll amass, the slower it'll run and the greater likelihood for issues). +# +# It's strongly recommended that you check this file into your version control system. + +ActiveRecord::Schema.define(version: 0) do + + # These are extensions that must be enabled in order to support this database + enable_extension "plpgsql" + +end diff --git a/task_list/db/seeds.rb b/task_list/db/seeds.rb new file mode 100644 index 000000000..1beea2acc --- /dev/null +++ b/task_list/db/seeds.rb @@ -0,0 +1,7 @@ +# This file should contain all the record creation needed to seed the database with its default values. +# The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup). +# +# Examples: +# +# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }]) +# Character.create(name: 'Luke', movie: movies.first) diff --git a/task_list/lib/assets/.keep b/task_list/lib/assets/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/lib/tasks/.keep b/task_list/lib/tasks/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/log/.keep b/task_list/log/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/package.json b/task_list/package.json new file mode 100644 index 000000000..8d260bb98 --- /dev/null +++ b/task_list/package.json @@ -0,0 +1,5 @@ +{ + "name": "task_list", + "private": true, + "dependencies": {} +} diff --git a/task_list/public/404.html b/task_list/public/404.html new file mode 100644 index 000000000..2be3af26f --- /dev/null +++ b/task_list/public/404.html @@ -0,0 +1,67 @@ + + + + The page you were looking for doesn't exist (404) + + + + + + +
+
+

The page you were looking for doesn't exist.

+

You may have mistyped the address or the page may have moved.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/task_list/public/422.html b/task_list/public/422.html new file mode 100644 index 000000000..c08eac0d1 --- /dev/null +++ b/task_list/public/422.html @@ -0,0 +1,67 @@ + + + + The change you wanted was rejected (422) + + + + + + +
+
+

The change you wanted was rejected.

+

Maybe you tried to change something you didn't have access to.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/task_list/public/500.html b/task_list/public/500.html new file mode 100644 index 000000000..78a030af2 --- /dev/null +++ b/task_list/public/500.html @@ -0,0 +1,66 @@ + + + + We're sorry, but something went wrong (500) + + + + + + +
+
+

We're sorry, but something went wrong.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/task_list/public/apple-touch-icon-precomposed.png b/task_list/public/apple-touch-icon-precomposed.png new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/public/apple-touch-icon.png b/task_list/public/apple-touch-icon.png new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/public/favicon.ico b/task_list/public/favicon.ico new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/public/robots.txt b/task_list/public/robots.txt new file mode 100644 index 000000000..37b576a4a --- /dev/null +++ b/task_list/public/robots.txt @@ -0,0 +1 @@ +# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file diff --git a/task_list/test/application_system_test_case.rb b/task_list/test/application_system_test_case.rb new file mode 100644 index 000000000..d19212abd --- /dev/null +++ b/task_list/test/application_system_test_case.rb @@ -0,0 +1,5 @@ +require "test_helper" + +class ApplicationSystemTestCase < ActionDispatch::SystemTestCase + driven_by :selenium, using: :chrome, screen_size: [1400, 1400] +end diff --git a/task_list/test/controllers/.keep b/task_list/test/controllers/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/test/controllers/tasks_controller_test.rb b/task_list/test/controllers/tasks_controller_test.rb new file mode 100644 index 000000000..c90410ef0 --- /dev/null +++ b/task_list/test/controllers/tasks_controller_test.rb @@ -0,0 +1,39 @@ +require 'test_helper' + +class TasksControllerTest < ActionDispatch::IntegrationTest + test "should get new" do + get tasks_new_url + assert_response :success + end + + test "should get index" do + get tasks_index_url + assert_response :success + end + + test "should get edit" do + get tasks_edit_url + assert_response :success + end + + test "should get update" do + get tasks_update_url + assert_response :success + end + + test "should get destroy" do + get tasks_destroy_url + assert_response :success + end + + test "should get create" do + get tasks_create_url + assert_response :success + end + + test "should get show" do + get tasks_show_url + assert_response :success + end + +end diff --git a/task_list/test/fixtures/.keep b/task_list/test/fixtures/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/test/fixtures/files/.keep b/task_list/test/fixtures/files/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/test/helpers/.keep b/task_list/test/helpers/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/test/integration/.keep b/task_list/test/integration/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/test/mailers/.keep b/task_list/test/mailers/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/test/models/.keep b/task_list/test/models/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/test/system/.keep b/task_list/test/system/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/test/test_helper.rb b/task_list/test/test_helper.rb new file mode 100644 index 000000000..e3c4ff0b8 --- /dev/null +++ b/task_list/test/test_helper.rb @@ -0,0 +1,9 @@ +require File.expand_path('../../config/environment', __FILE__) +require 'rails/test_help' + +class ActiveSupport::TestCase + # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order. + fixtures :all + + # Add more helper methods to be used by all tests here... +end diff --git a/task_list/tmp/.keep b/task_list/tmp/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/task_list/vendor/.keep b/task_list/vendor/.keep new file mode 100644 index 000000000..e69de29bb From 80934c8f464b815228861c3aa438ffb41ffa1658 Mon Sep 17 00:00:00 2001 From: IsabelDePapel Date: Tue, 19 Sep 2017 08:55:29 -0700 Subject: [PATCH 2/6] Completed baseline --- .../app/assets/images/this_is_fine_dog.png | Bin 0 -> 292013 bytes task_list/app/assets/stylesheets/tasks.scss | 84 ++++++++++++++++++ task_list/app/controllers/tasks_controller.rb | 15 ++++ .../app/views/layouts/application.html.erb | 3 + task_list/app/views/tasks/index.html.erb | 45 +++++++++- task_list/config/routes.rb | 15 ++-- 6 files changed, 153 insertions(+), 9 deletions(-) create mode 100644 task_list/app/assets/images/this_is_fine_dog.png diff --git a/task_list/app/assets/images/this_is_fine_dog.png b/task_list/app/assets/images/this_is_fine_dog.png new file mode 100644 index 0000000000000000000000000000000000000000..7490af8f4911fcfcd6168613853873bac2f158dd GIT binary patch literal 292013 zcmYIvbx_n@`0tl)*riio>5!BXgawukiCqw+q(K@f>5@+AZeb}AkS?XWJ0+zX>HGff zoqO*eXU;iK%rkRlo|w<`oCpnd1p-`ZTmS$FloVlF0DuYu02FF$)c+{{$7>V-Knb&v zmDR8@GXnt6#bhrl4N`(B`?1kO9=w*VEZ0#n#Ze^}(ohRMlK~!0SVTbpE-Snfs-+3* z0U!ko(xlQLa2LSI85xNpr?f^ivFn@b?YMGx*9V_VpIZ6mU1Dilf&%NG4hf;8WrNxo z5Km35Do;u=Xe9o_2X&$lz6w+)DP#IDIK6iaoK^$NW2M{Pz!chYLH2|GMmqgg;oxG@kV~9VL0SF`kJZ1gwfBX;Q zx(<_p67_q08Qc;bXdwU;OU5CI!2E9jd)fIzv?#Fp3J9WlnMjSvu#68NYiiCu0KcjM zDF3C@IqX4qbi6~XY&yK->BI;C0(!nAq=95tE<0%Zp4Uvx5}&8zQ2`g`sjmO*p~Oe- zd0M>%7| zE^1hF%x>Hv{c@rYm|%6fvC4akRreAWE9h50{{Fz~eFp?^1IPBFQ==CmSS)?4Pk-@} zOEm4<04NBUQH#8E|3??q95P{V=RYU+_}5vo{PTE!2s76h!tb+8bjuKDd+H0b6C7X? zuvRmToXed*W-hte&zeYJM}EC`9NB9LVfHvdyt!CMoi#yAjK@y|;hupoqMy=BsNxOY zm|?+9WYEW@?a6LQHvZ>KtI>rwxq;S=LPz}EtA|3C1`Q((4=(Q5J1L|NK_g3xNByK2 zV(m$w8r~DaFF1_u+BM9FH;g~ki_c#u<(x?Ck0iFk5k|)fqLcnxO-S7>i{Fh#LitQF zOl2BCIM9jyy8H3(My}7lxqs3Rcn`7<=uiCresP(gZW3{&CH#I!by0E(#ZffM#-)>C zBrJJ$;`36anfhJ9r#*}>h^iD#Pl73=N+HOI8*A~!sGkLD3=yl)%n8ZM*Nd0* z9{<^w>0YzVfrg2Of1xya*s#u-$eJ~HkV0zflJNx+MgU5eb<6;8@GnG7RUT%ZSY#n1 zgKs#=A6rtzSyowAjJHk?V!yplIGZ5>0nmR~PhFHuz#Rn;KjHr!+c6-80$@({=WF^5 zT#E)QG3yHmZi{?D0oDV_L<1;7ptR;t@HCX>vJ0KNlRT@Fpp_921_&UGmaWL<|xQ2!nN0Hb9NKrMC1IoQDWI)nbCl(>V*f!Tx?5}cX(!JTi-~2z>oZgQc~m> z>Vnx)8tU*bg{q&p^utpM5Y}jmLDzXi<2au%A0xngFI0)Of2;Cg4PzC4psA^xSFgYq z4>jz1U4u2xEFAT6lfzT96?c{LB>bjNVO{&|_Mg@R&Vz*y#S^0+?sGPj;gp0F8xtK% z24IZ*p8ox-Q;1Wn(^o!4Po*>_;s_ZSSpmmHj3Nsw_#z@K;;NgboAD2+b53ZCT##I5 zPb^D3ODs!RanklH6`CQ?5KRgOF`H7XxvC3OXo7G;q>@k(`6OTyS=Tw(gY2{&+#jLt z$r$+@ULRN=b%k@FD=aK*Bg`aBB#ilw;fm)4-tlM;DM-dTXXnqR-cd zw1;Gw{C;h2_P`|OK?h~JZSrj@i=6B*!|auWH_>mtwq-ry-h=KH2#LdJ!&v$-V?V`e z#YWMh(F$fUt9z+`ROj5)8Fd*g&x#Y>ZS-ucYg}$LZE|KU;onJ1lBp=Xrm*!lIv=(+R7-}Bq^;00x?8h zP^z?7#>ZO0eaM)_=>u<6@stnI?S_T0YOznU3$R9#Ajq#sSGe_GF0#F5W96~rO<{0< zcbGCCE!xo->Y4P$?L`v?;qskG=Vu~y(2<0o4 zmx^49_lmoUxnKP_e{-6#lkn6Um&jV`=*Y|>gk`Uz57TIsMm2b}j`IxSmWjMDyrgcA z&ehHx$6ds|UnpfdLcDUR$b+(kARR?9jntwD3k*7Bt6 z89stcH9nm7$Ip$gIDOl&XKGDI)-2I1pLlELyUDyMzxkHcmUV*lo7!rX<~vzq?b@B< zvO12Ly2($!R42K+4;vRknv%q3S_dCOL!;%=dT^pdQj}9PQ?63zD_>Qn>7-Wry`y>W zSkrD3yg0u^x_G(dvUE3}vLIRe^=H&~aWj#R)m9w~PbFxpT?-%LelscXD`c2uZ&rK_ zoFf0GZuO%!)iwPBkHUhYL?w!AbY{RU_uy;2%g4=G;ikaM!X?RuZ^yXDG%M9!Ac^HS zgKvzyZM`f#uRYH^F}$;{?~d)a4G-TO7w&yMoZ1-LpxJuAd;fc^*Rgsnq~pso`Ev`( zFO=wj9jIxZ<9bAAliSY&!ir4XNxVTKYQ5_3lJ>qQm>UHAG*wux=-R=&U)E(GWYojB zwN^?I(@h$EZrYc3n@w`}^uqIXsfV;$M9%nQR2diprZ#_HszCH&Y z$o44o#HC8=`Rr$2{eg7-&mskF+wiJQ?^~3r7 zl_jHFLZhd(l1-V#g4gYU^5LK|YO)dr0FVMs8ykSJI;sXL;CYPp{m1juj=m5nN+(JH zZ$WHppIbph8tpZqu@W|`GPq9~kWZoGhqV9rdLg*y-9op6TIpY%T7e4{^2Zd%iWGZv`9V=ae6l!r?&Q= zWA?+3^?f3|-I<3>>snB-Fg1I(9^2$n*Ig$ z6zc)X!gtk;|Ni|7S&TUvwu--xJ<8a7C@7MJBk`Ud&>ZsV+}CT6pF^Wv?3uBBA1x4M_4gr;!QM(AbK z-_%rN`&?W<`#bram%Fc?=#JkUME7F_#~n!8=i1*s9F-q8)HVI2@AitzCF?NaMe?%n zHdIsq0lbjltUio918b(AgkzCXDyMA35xeh7nWZNUXC;KW1af?$e#ERK1ZSHi)kboC zSqcd2zes9`tIm8b>2&L|%#ZrDE4MHAHgYChR|T%3ql8e_9hmOVNh<#;RqiBxmZ%lw z(xRNYPgl=)r5W=rW2`R6R%(K3%D3o7<2kS^V1urZXVd-b$B#VeIYQ<9ytV8@jTwj-i5ZF+Q|ezx`#r2Q ztTd=Tsyv`PqB^u(C*(V{6CEA>GP9w?%3)A>NPUQ7v~uL*ig4DmAC^9YL8;-^cR_RA z{p0K&A(ofk$0xpRj%R>w*)QoS*%x8IhXe+1;M24=Vy~SJx6kMiTefA?kNV$8Xw(JX z+E;T)tvHpm`TaZ0{9?R2K+#Pj#G`L?-m2P?IG;4v`fO|eUntA2B&zDL^Y++$8mT=B zr2{wEy=D=oXpwK>y*_Lo*{g47a^JmQ32gs*BXIAFHGOP$(}&56zb%DLJ^MM_UsTd% zLvw?Dv*sf0y0M!i=Ns*qXO4Mvp32|8(838XZY>XG(uARsrj4eTMzN0D*NpP!q&uq^_mMaHjEnn=Qf{w5MP0UDVqEnR z#8PR+6veQ{#HHK4WBRd^@K;h$#5M9ZUM`(wM0sYv{7NWO;ys19QH%4vZJ4!!eP6D+ zNOnU@W7Bzyq~81OUMF3T=bec^>3=N_M)p@uYWwDv-gY_;KU+hs^Gw(K+;oF}%!=Eu zubp!KGgW*s!wXOTQWz6zSdbdhCoigicjOUUEsPH*)2%cY;J=9m^@mIu52TQ0kdUbzizqq&QcZJTCYslQI- zI^20qddWzX6}{QL#cs}yDMT3zIQ=yC;}1WC3T(U7<5n^?D-gt{(~6YWRk&1@%$U!; z5T9^&Ih=m5c@k{CdSPWogFBWjvF7!m!1*k((;}P8K}~aHsY>T(oe_=Av&QW=TU`M>Jl$Xd&~dC%A*@pZtWzXvsRKs5AbQ?3YNIyL8UyTR6ZY3yLQx5y zef=2%Q1G0BK>dM)^8vgtS;C|)3(AnU*jNRjo=krgSzNHve@CoWIB7QeHVQ9`!$I{5 z+7quYae5;bKD__VHP3B?K_4L%m<#C#LvXCHbHhJ(zwCA(S5IL`d7VPfjHQL~7q6V@ zBiRA*dxrOddhuE6e)2W>)3q11R<-_ruy-i`)NQto7LU0FzRzw6R0!UMRD&I{as}7e z{n4LWp%HmMOj0#U`5*=yrYr(1`s^hf!jK$}eD*V_OLt5tjA zw%!5wLbToW#6zH5?Y46{>H%{m=)JD^M{hwaCIv&bmsV;NYPyy6iw<|ktS?e>VvUSe zyCiGc-#;ind_>bnqp!?-Ki1JDnnwO3bCLXxMKwVkPwK^47UK)KC`lST=Yv0vc5t&< zRt`2}6@qz~Vn?#(4J{u~ z2I#-F?bD2%8TL2+JCA&SQU6hSj%dyNsDCf(U}3RkvZ2P`T4M+0>cd&#U7v0r@0-fc zIYNIQwH{_J<}4gnN_1D}{7;`lMudINp1+J3{*!(jxG(qM_gHYTzyLs)c z|75uB!fdU>D6n5>N=qc*7ZG}eFs;`)9XQK1k}ur~6Wso72{w z5ZIjGnov|z8gWVu*2WPOa}~lvQ=#EseE&!oMjQ7!`&0Y+{N01XLgGzz zucoq1be5FAEfwb@c3pO^ay3RW&(S_LcqL5mVYfjfr{l6U;sE)(zV*ORWZ`wIc$~Y` z$#%y_Z(bLZA(PeM;jo0b3VQ9{&$-M}o4!Uu9QOqeWX_xqZcFb6>*iX}PVS{l=&z(g zM~@$To`z26s$G}YX8h*IwEZ2P>OJxu&Uz>N&s+XW6P^G0d@$)=07-~6AzWHyn87EU zB{2Zb$RsK-N}C!j9_1Z1SorCZ^mXuG6RLT82`Nch|Kv{fJQ4?xT=?H^XL7+5YU0qk z^vi_g-n)>I+#|3T-7N-7%8!1dU-{h=BLnMy{xpx$jWLZ04!rN7=&By+U>;|D$G*kH z%_hM+$*a%y(=dy1gVlzeh4&?cYzj+%{<$ZHj+_w-hXoy(72=D2;GJH~hY>k@FFK-? z%FkAp^fW&xsVJw^2rK>yWDBM?oHlU(XtsG=(V5|ye5(76#YVULlBew>#!A8Rl7v^A zX`8o?#iPpu8(QVuOck4bIMIvzjL_N8vnki#9rBY@Zzi<(-<$Sr&N0IUA|lR|HaTL; zUS>{DmJ7muCRv`F9}R5`ynu$0FlReWQ2Wp@a1Je)ipRp$GSo zsj{ykZmk@*BBx4CN=XdiySO#nztHWvyvr+mXK2vwQ!voxRkm$+@J0BTrtL_qVfK^X zK~)Ext3n4+)0~u(dHfmF%G06f!>30|VWTtnlio;3r}=(VyKa#7akcB(bbA}W@6Af* z{gU9E6x?t4c}uEX^#14~l-JpKyM6Wfr@tw!oNv+h6U8M`}|KKm~=bp!MCltN; zI==e7W=}6AJDa7+%OBe=3+HoWbIBxJTtLLe>&5@j?)XaJbWBI5eGm9q{ zucwE^gysUv(YI}5DF52nkb5Y=-m%@_-Hp+A&Qc?NU^5uVR1so?uJ=gzs#s9tJ z2R=&v57FI8+UoyyAAoNkKmGjA44?#)hI=j^K6=fw^dabDbBmG9_pA3+wJOvx?s`93 z6;mjnKl!6#_%VrVS1}H0hC|rGQTXzWdWL{b%K-rA1p(Q6&9~D zs79=3Jyy4QR_e1{{roR|6`0<$_A>MPwY$D}Q|Q-n@2-o`ohftOca_8%!RHy2YhtI^ zE-*+Mv&w833R`LFt=J5dmN~8XlY1{-VSnFk>VV z85o#>0zd=`NiksaPh^b5fhcLH5FjX$@z3>AKpHIxYDoc785@AAT4I|3Cc+&T1B+Au zC4?WGP!^>3Ecr?sCX?0S_Y{812wW0n8?!(JWdSHNI&jGK3s$h0s{>AJz!cErun?t8 z3rt51Kn-VyeBPZvgS_4JnD+D>5BWsVz zN>#U&=t2%LX9eI0J_dQ<9P#@@UZR>n3xk;Z5o`veIejP3TC~2vpO0sf;;O1Qx@qg& zvOt~>!3^xzG5dL5X+_ajFo?Ad1`oRK?YhP2m~Xe2^_ zHU^AY24MlwKJq`Ly%~F{1yX|F>0Z5|0=e=G_row1v5~#2!PFv5xFhakTq`@dVk z>Gh;j1rSUqjAxpqr~SO25Uw&10FUGYPqpTzQxj)U6PJY}Q33uw%JhD3A`{EbRTPk} zno@Rh1t%xcGQ2;8!-`e-`?{}cIw)NUrVKVEPiUWF$~VL0I|&Z|esS>!oSda5hX5yp zho}2uaI&ybApKyO=}8sHDr$g%fw&;!N407U9U3KNDU#~D85v{AQ9_v3*25dfVC?Q! zRm~kd@;|#_4TgMLyp(MLfTgWG>}}JLjMw7VrCme}_C3~B-|lnhkXBj+?&@w6%`*Sl%P!ds6RJS zr=tXvK_(s&%eD-(WYA$+WM31tn!gKyzyWX!{3vV)IMG#gRE4LzdzFb%JPc-{Lx2gT zcZ_(`CXku+=2K7om^Bmr$5JjJpb8Dj7odm!iUAYBfQqV!5#I@}!$A#pjmHHAQLzJN z)ml&j7z&sZ3zK2dgAWLSm|%vlV-E*VB}&{1;dBWCGOLn*DL<`BNfQL23HD&5B0~R7##{VDWLuR$Yu_ZklxN$ zgJP@3PD614 zDAh;d!}CZLQ9}YQnovP`xf0j_C~b!h z4F%o>qLd~`+iCkHHr#VZlL*bbb)_v#%SRE+NMCGyf4vd`4p)RNd;p`NX`bd_ORE+K zxXynB?~?&d^)bhXU2)t-kIU_B9yC@}O*{LEwM3&}rVn#&qfG{Ixp?;7AneuqtaB&P zezD!8`sz?BVoytqcnCHqXsD?)h&=%1!pD^HmzF94rqG<5y%vaJS0W}7yTnA4o>eXY z8`R0j4nPay~_{+(uC#+`C95&(?og=kCFAAWDUe$=}g9?m)^FHkJrS`NPTEcL=Rhc=Ma)^%; z5BNsDL!#pLM2YeR-}<7Snk4#tc<%UOu6&uK`rg;&>r~`b-^z0x>!fk<+yYzK`Be6a zuX=dilE}I{)nSmkyr-7hhmN$Rc5@0iu2g>E6NbIn5=+;&q@4kBzLxdsBa4T=xr2u( z9Fx9Z001l6YE7;;aJu5Pc3OTq`9%)!VIl)C$L+cf&2HAb|Hg>;7+~bA3ZMm)1PT8- z$8O(~)6I}UOngTLmb3o8;-q2^q6!aUathIl`R>6DCCO7`{b9cf0m*3cp^cdU5EFp2 zH#$VaD|#UudO3h8i~j2=nh|2xLWiSD&?Vpo|hM>U&lRz>$&;WzSio6u0PYRj?(Bfu;V z+VxzFNPoQ>sR*uY#f!z3o^FO%$^#+sGd?HH(x=#lU?CG3O{VU38#lQ9=;W)&bb)-T zQfk57EV^2zVN=^k7U>560$kXKy|{5%9$O-b;`KnqPw zcBodQM|&x_ARRRE$BECu>LbnO&FU>bU_zfmTMRplk32Fe>)3M5p?9T1CuAf|sIBISZQUsEy65;iiAt)4~v&o1!4R~=Mkd(lTKPT|At z9k}?e)O-G#3()e2?poIVtUAaN1Vndn^e||>p#tCkdJe}8Xjm_ zm&HIIcQhMTBjIF8M`3CPExP|~tuqZUq{zMrw=*d=-}T`LjgXrb&vh|%k5w8O9u5O7 zk!m;8)k$QI8el`HTlRuIM$@GuYmf)4-}LJEyiW`{^vGne4Jq1g#3%rUZY^cUDlk9z z^{%D8=GTc|ip=6A+{*p1sx4YhRSw2=9~DgY5^R8TFUtx7fL@M@3nf61ldtfalCmaE z_`=0@4Zi&Tz>(;xLn1?}iNIk@%8E(?wO%lOtFRrOZn+_2_&4tMl5skDsCY<>3DYtq z5l~gbUVy4$Xhr~e0bP%Al6O-bk6*Tv<=oW~9S?G2#@3kc?GJ(-TTe_S#B-ScZR!TJx~7pSq+_ud*k=dp8nAlJ$@B@Q^qcMR8P=(Om{WcYA1xp zBiw3cxmAa=FtznBz2qA@d)pEQJHI$bcX;G-6Flb9qf-O+Z6%%o-PW7$z4DN*fm^mqm9o zFAhg#G#!kf6AY(JDX91O0#|ll{Ww@6zdTlHH|sc>ACZjOEx9`?j@937q$~qi5+e`< z!)lvaG~$)@%#cx2H*EBuAIlb1nNjNtt4M_+l`6ZFdp2fLkH=mmo;4{QW*}YG=X$3M zRa9oI!Ck!vyDyC2kI8W<+!X&=@@T;6? zaHYqO;^jb_QsjKEUqlxp1F;~9_{s98$)JLpiY?fJDv{`vpQHd;3bdC*k z;}c|(`qb=dQ^W9*04t7Od;-VbE{3d>>J>i)*#}D=LlWB06lO2RnwuR=BM)0$4_^uf zQ2vxpt>m$DsE7&#xQPxzrCs-zdpk8#wU*opyYkAA#l@lXZozadnZEb+nLUDieIKp9 zh`Zz8(9KJ@m+I+@`R+Z@->%%0{i+B?KfQQ9L>NCV<{Hd<5EvvqkM--8I9P1Zw_c|j zH#oWtz!6vPjV_SOY71e+X0}$}L|6?+(HjNym$P;TxJ_p(T16?vwtfyJ6Nw>-8eLEJ z&!2p+{`^sESbOZF_oWA{6W;o4vegb(ume!?ks$t!jMB~e36oI1-k{_uJ!T>EI!GEG zM237k8pan@`Xx5HvB4>T3MNgO5CFisYV&0V70tiK;#4a5g`-jmq*G;3v7^%DlgU9Y z2(?l9*aiGqp(lGeG_Hh7Gqk~Mf>3QC1O_>VEFXfQ{G%#PcM&e(0BoE;2t^U}76wvcE``r=6@-;SykiYR+0fEu*1*LZ|Mc`~Uk14b;&{LmyI559KGE`X_wFiaA8MGgt-0rtKJ3DS*^k7;XQ7}#I%m3SGO)r< zWW_UI)4LoZHR@~6ilemVV@S5Llm}qP2Ha3kKYuN*n7awc6}6iconKWCu07C%M4Ek@ zJ?QEbqnDW(5y(g{2v4DHtCog$!!QQ6mtXSmY%dG6WYw1OV;vG0L$qIMGAUt%x0w-h ztYR>**SM{^X?{V|jh@#~M%mI*K1GS>OzPB{J#1tTDs`1sUaW6rfXZ?T-IDC~=1dD# z<7cd>$nHwm#b&Pem{aFhVV1sDS-{FgH&u@N_TSu2-H%riUZ3r~oXhG2>5-v}amaOD zofF@~2|os~KV!wK-BIUPI-f<-Orrs#&dG3$Q zBhk~8zt>nB(c^#d!$8mQ^X9$OW%T3y)9l>y%a_~B8^ObVC!@(%BbD_^;x^v`w%*8b z6oQ~`*T1Xzj^bjL(y>;p!5{re-*6#{`Roc`)Miv$3ttQrm0-(#c5P!WIn4UcUl^MPYXLInEo#KosCZvKZqt?xn}T{( zxh+MD5*NR_m<1FUQMff{=CLze^KO_scVXEecf>L>F8j5JLyOJux4s%KPuN~JVo0L~N?!OE5KNHij5cKlCm}(#D~S#zpAo`1Gcpd$ zhh>q7R~JAD@!`q{0`P(tZ$Wo#I5;3eTlv*o8BeNA`071#PxLfg6>NA2K@F#7;D<1Y z(gXaSYrXwEAbpNdkjvm`jfd*6<$9LvmdrAFr3CMEAV8k^nkIUwk*}0iTPK1eR$I)= z!S|INDR_W@a<;d!)azG$rOlF?oc%lTurK*~M*10+D`_mu?dE;^n`~o{eG75&`zoVL z)FD+jY62iK2~{y9EKbVV#rF_I5r!tO#=(P6Jy*!qWJ;kLnc}iFEPtAe%y@^;9rX&! z)6z;%KfG*;8Swl#S&T(QFI6L%-R4iI`DTS9k3D-G}$qijKt9*6?7SPAg* zU49nhwIH9ai<`?qJDOuW z?9S+DOaQ`nbUEEygiVYh$VbgiijsUATa=~1xM-kxb*+=ie{=mckjh;8C`J(dP>nTE zYkV56NlJ(IhZdU`6&j8$$45T?BC|XXxynd#9gwk}EsMs-KSYJEtZ5OpHG$p5528kM zjVS1W11_T>qcHDAUm`X47lHUVY24etUi9D!P*VLsDYNCt$m&CljgK%KP>O)PMtnF4 zFI8hnCPog9oATrpM`b4^x;U66CFV2tN%D2OOJv7>?O)tcZN%(OGhf^Ep8^I|5oPTp7G!5cXXnla3c_FGCc2hp zXjPDE^Se~3R6HmcICo$I>&Ax7hG{v1WWamO{P|W&g?7n>S(@Evl)Nyzy5*RgRc%h7P2L3Cmc=t7A^;zEymFvmVPe1TbieA*wm3JjmwsZ;*1Km zoGX3dxi4)ehnptQBD|aQry|>C06`Z0eXCIviK2vH>ETIMnw-jSiEaPeO;Aw03>EAVO9>R0Z|4zaGv`gVy;s#H0N^oE9R&_9t z!uRRG{{ic*{YVxb&bqk&oi1}~u?o*zqfI<39k~UUFs|CREe8+I?z|f$XB?bioABcm zc43=%zc%Hqk=eo&ic8Mwh^Ns3S-o?V+jnkjOhZO=Cv-hc+^oKQQ7pxG=%2Z*>G4VM z1g`VEBpg#1Q8G9f0A+q5klYChpt>7KY6-&2iG%Fb92Pv{<8^kni4bc{$B)}9tY3z2 z`S~|0f?%djw7`8Q?+5pu!S61Za!Flq7f!h>t6hn_nj088Hbe$}7+WW6H%mZJwqxL= z)s?Y$^gaOKCpQl>K_Ua}Q`6ExSi!88Y8=GkCp3H}Csb6b;3h>&Ffdp~gRg+>9Bo*^ zmu_a3L`PF8Lm;l(lZad2@{2*x{(vO@dg`m!L-}hK^-s;|YYQtMQ zL+}bu`5hz}vL~vbV3_m4KB++7g~)b&I_&B8OOo&{i_K5an2M$Ysq(3y99lDI z9Gb9U)sdNsJ?f#_KcZBrkYR2O*pEWoLE71T&S7;}8jj{YC3Aq^!GGAJN$(*%I(!~u z7y^;}9td*Yf9-Bm40rpgg*;&GCG12ZBl(F-NDEza=0TN5`snzGWEbgkLuI*=Rgsdx zfTk^ES?`phbu5r3!d9Cf9NHBwon8LwXKg_Xk~NyTSB(&%voxPkVdQ7eL6jQWTNq(O zjz{?YdUN34UYTofXpgWw#P83tJbj8KV0bu6#0A5~FAFFoRFD;-6%Mx1H5G=qar9N7 z&5Y#X z(ME8X&c4&!@3_@xE60xGTVB;#SF1UZVg~JGW$_p>GIk6Xe$uk+%wEC?ekMNk7SH`B zEDsJ<;XVMGi*9hIl(ZmhWDL{7JpP@65&?Am2pVyY5+x$+G>QTsqQZz*Xo7V|@#Yvs zlJZJjz)UAlk^myW34{{NqjX9TM*RH1(B__{&}|xr^GeWM9-Y01b|je21&ok|!v=jx z-xE1nIH8MCAoww4?X@{fqge}dKKbHd#=Lw9$*VDw(V9V4ji5v0)9{C(Mc=DofcJfM zxJQP|U$g42|3N>Za8q2}51XgMYV%!r(5oQ;u4VXM>w!yT86KigNm(6#q2;qcj3oLL zwua!vr`JsTXu=k=tbGVglV6Fo#HHaiXdxB9cq$x6{O%2J9v8x12n3YhRQrvsJ^lGG z)fW{|7NVhM^)+c+T=@438H=Xy@C$Bh#(xF2d5Yt1Q_V=N!90E4s|uBF^?Hz)pvf-2 z0609{b+nH8Q;O*TYF>9(-<@(4G|*$0pA74q9TOhZkEa@Y^z*(7(j>0uJF02 z_aIiG^DPxJ!+B!$`urYEEB*tkU#;diQx|!75QvNsJ^*AnCMWt2b*QVe-9hH2Fd5K4 zJG-j3xR>UtY}s7bn&B#gF0W{bzhC~kzBYYvb$eq`Rg06u{m?*NDGHSwA=)A))-Kt0 zu+b-ZH_l|$Hv#ah)!qfsR5cyx&50`ktYY^XnJDq#{3KM%Zl2yzKwCYq?4!02Ei(Kf zhmIl;qJ=@?N;vNrDwtCjkUH@ zN1vlX>+pELb&==OK80XpL6)@ltHO&+!*96QqpDG5Q>G@-nAkZ=YTA)2cg;7`Sa~T) zQfG3xs_7#{vAMG+54`lvPlMSahV>sU%9{5RGx}kSq8G~ww5WiC`UEMyldG+jaAN73 zPv)D4y<45D$-3>0hylGAkRp{yywr(E^vTL_M;_8&?$F3!La+f`Lu z{YsTw5itL=jB0w6AHtY+QBfQqAQ(w{l10sD%DE8Wi(O2LIt{_JEI7mlhS4=)0ZNhV zu1=$6DL?6I9g(k-cy_hMy`a~OX=H+^e3s;3m#xpIDvah>4A78LTk?6@33180e`6g_ zE0`w0oKgFxvH#Q%R{hD5;tVRb7A}|sI#7({N-h9~Uvw!et=>ZlO5PNQx~>9K zKS9v<-AX7&k5^o5q`4`tRwsMUyzDI+P3`5L2OvNKv&&%J6{Y1ap1xW`pMVQ$#h7Q* zD!MzMmxiPicRT14?Nb&KxeZ{TWLr^){-mqXCP5wKz@l$0cU6KE^jMvisS-7AZs;ZO^wKkQRXbFV~AUQ4f`!ojM9>WD?R^9s@-E3<9 z2=9cJc}j2uvzCOok?f;@OCuu~Tsf#|`wEI-QO=FuU*)*7WRmhH*d$)r zc+4>=5azzVA7_e-ZO9**Gx&M0;@EQL_1|l1V3D1Il}&M(~ki>uv1%1CienUJ%zC zk(3C|bgFtowgOjfR!}V)T;?(s4@%7Fj%n9zy%Q8yhN1D__fIlun0%yue@%E&qIWHk zDxEk4gua_a${|K}68$bp>}`p@NHD4RNogsV35@xcQy-?5EK_M>C@xqeO{Sjn(f^Of z>TUmo>wnW5bB67kYfq27ACe&H&MyeCOAM7&@qINi_2^f=3}-M2e4DX*ik+T)a9!-kdP3(%%TLxh0fZ)v4U!7$mu|F6^;sujf zrHWuIOT{iRA;ELjh}L{6@OFW|axAzLc83UkH)^;p5~EWnJR_r%ODxKcdbf zv|`Bpw$^;s@Y)Z#sCSh)I?k+4o&y~pdt<&@l~~5ezta9~Gg^d-9?QXj-&#IzHS^)L zz(UwQq1pK`?;GAzg0HjaFpqADjec z<~DtthL5${_T|jjTA*OXj41sc&WV=p%jv5T z$(7@C|1I{z$Ls3$>jUFO__CW4V&Y7giH?sdFMQPO3O?f{pzU0d(RKl(xC)rS_%vi7 zzcdj4h0{;bd1yWW@lkVVf=I1KC?ylWH>;q90yd|9 zKs4R%v={|?WM7Uc-*pMIV6nt+qZLTFxx2bDqs;C*waB4?79%O16Vbqqy* zZ}9DMv*=uPLT8wrdbR|%lZX=ot&;@m{`k~;xLtNP{gryI?zom+yAx7DbI913wcDA1 z87#Tor-Xg|%Y66U?aqKSoaTMzR~y4Qf`z9y;!8FXwe3v{%12I%f4P&}xbXT$vuK3! zky(XeVnN=6rN1TrV1O)->}Go=zS}IJ0|+wHXvjWoS!8J?s#Ow=M(<- z=zmMl;QKu0Tk>rr>U<7f9CymCj$TFJj7FUC=lpX;}5OsJQ@?`d&a(x~Aw&Cew%VnPP~nx9b@#JqLi?gwGV zR;+c%pdZo2V=DsaFr+@`7)+y6wW~8yBlXD8L(T7s;HIoIa0q$wSTc51B@0-(!{ZJ4 zF=w&_8DIC2&!~EvqQVYu<+UTQwTgs7>Ku=2J&aV8GaA z&_FN0M(jy`b#4wKh-T+2RwSaF6BwEnbWS7_q4Y5xV1!`I2r4m~qnvWnG;Qfh>4O4u zU3o;)l8MkH0eNN$RR|2jK|O74Ycj2Cy=2GY4Oi~_*kdQY@0Wk~yT9(0&$)sf!>sLw z!@=Ufji-~Q@|&H2S(l3$qH~j39C~=-)M>-Ojx}}J!ldmg$7|!s?xn$=OZUrc{LzEQ z0D4sClcTQRCj@}wC)a=BEw{hunb!`3^UkGGRH62)s%f(dTC*F*Q3WDd*Y;; z9Xj^J`ufHsKZRY10IuA(^M)(;-+cA{T}ul~qXtW6A99hBlVk2;=h&Abl8bXrMTR?e zPS(z7NzMmPMC25-r?n&I;lcu#iAWW~q$@x~&a*d0SQs?pHU_VQ;lfs1&}^3NKmNua z_A9tozwlYF{C7Y5nVv8&%3o{wu7CV3zy9Vosp`p%&3o>-=NVUD!(Z><=jchYL)Z-W=hGQvNChqjMQe<(?XenDF~v?S)#x>V1AMexMzta znsZRmHj@`2xb54-P_@UBfEvUy*K9p4CE=XBxF?|LgTb_?^wplE*v!B=c#=YFj+{i= zR-8Rqc1}uY1&s&^K@ddjop)~h(L3&6-vR)*^`<@l{BK?BUFvz{$vFWAQ8nocPKYTL z5pj&n%tTTI0QztxA_g-wQ#6rMRYTD>5Q7%)Jt8UgJXtiEObi+#D54^ndh=vEQ9upz2A;+_BRDf#8|R;U^X>2Y@WJg?00j6OU+|o-dGR&q z92kTum}Ddl4w0aXb2gvARK$u2D1;DHEp;=4)X5xAQIMv&rJ}%6EU&7k~eM``x1_H@@R1f9q8*zWMKc$@AH4eU~iOax%6vbwYy*H5o^IrY5-KrW2#+>VY>fDhdB z@cZw1_<}2Qv8Nt?+ztD8FE1@D+;qjIOT*^sJv#2)9G|MDr2J2LrjFGlt1OS6RBgDtc(4S|>d5!H^L#$Wn_dk!9+^tJoOFTe52K5s>&be(xm zQqU|_!F5GU1;G$0<)WfyRsftCqaYIk5E){R1wj-Au&VMZJ)bx+LGWngXVV!WBC2zY zh+>9Bj6tOUQE*PZs)}<#L6JOws9D#|dgjQ=*OI!_%{-TsbRwnkeC%BLop(L-t~(E& z|4at3V+jA^8(x0p-Vp#uNoL@^Q%OjO*oVnmPj5|xC`Mpr+Rmm`UF? zY$B@JF&DuY+u-Xec!ZvHn@mM=HdXIK1|b44@gYD;h**U>#+Dd!*AkMLdG^-FWBXbZ zf_Lp~lBFsl%-%ax(>8X#g347XrwCRQ>JS8gOqLq@58wKlANuvT9Dd^5AHVk_AG-H} zzx|3AfBr4k#Uv@uOl?rtrozl*VkSg9i?Q9IXs% zR9RjeIaC44xqztmUPaUh`}oQtB_}X2v{J+epSl!kHZ$*?8X)4ilTSGBK}*lLXgy9v zk%J?mlrn&^^CcH{j-})*sv5jka?>s%Kq_fehu?VL{r5k1+yN{%?zeva$97!%?9cR6 zc~Snl%V^i0Z~BridF?O#A^@D&oZkNM(HB4C8PhhRQd8BXSQH`b`@by06+n{w)@2AKfN*&E!#xRM%##agL%mFoKe>1CYRcI_0~s&8Cq}3VNYQNU{ZkD z6i@+zM>Q;^huT9QbVg`JfWU|W2~FRRlx;N<@9; z4l~GECM~`0Pac2whmQ62+OreB=bJun-!3Vp?92g`BFyBFQ!0o?%*19&&9Lsel)K0t ziM1Fv6~rRsSc`ZEIpq*SF3@!y5d&IGEt;xxOlHz4@@TX`%)LVF(^HsWijfDNozE!~ zaZWJOt zg#<{9?1IZ#n4Fn1bIF|#m8!%psTWr_o`?`NiJ6IH7wXD~oHL?lv|%$81v6@Ao%a%ym_N!Ltq^(8hR7h*e#eQg$uWC1=+xjK{O!+{Spyepq63 zO;d6qBwsgX<~W#HDFw{3m>H{P_H33_=0iv|LvW6rq&Of4qTrmVDzliXTFH?;iDV+m zrARKJu2n3AirA-^01eqAfs`CV^XTcxZ@&HgJwoeuzvo*neesulrsv6v^4TG;c=cEQ zn_v2615>a&9y20T9uDfH(o;DPn#N5x`q^*V&OY(s zPp{0*bMPS2e4}D}O!j&Lda_`dAN0u%mj)UfPde>VPcaNxkPu9PX`bf{5tt0rJX`K@ zj`O5NW`>UEHd#-UuZFhGpbztWm|%pAK!~U&HrIus)`zf(7=raFf&S$7@vpz(f%BF6 zk{4h3HD9o&_8AlgHAZpHnF)G_NLG^iK#rgYF{6l@6hJJZK}A4&mSj}`vp$It&4HKb z9cDA{T-SAwVvWkqb+edjF}0EtI~J8Hcp)HyoD*t6Fs8tjS1CZX0oHXz2t-^5%I1mv z`jmd*4Ig>`-H-QbtdCDHfM;I0^6&rNOIL@yYjN?+)?}6~5VoC!+BpPd^bQqKCGJ^n z&Q4O-wS&QEM+1YVKEBn~$jq3HOmZs80GX&6EtHagsDLq|BM9C#O|`X^LKRXsTOI{+ z)tR-VhQmP(ruQD1{nT&2WfB1a_O33x{P|a>+yzIqvq_A7@VH~90HPLitg0&KE?-LdvPC>KNOs78Vy$%6;}GDY>L*W`s0oDw9&wO38s)ofAoB zeVlaz227gTDInF3IfPQm0%KQ9O%SCC3~FoR&9~ou^nd=*y9MAYUV6)cy*q#UcisvB zcRzIG?uU--TyWp^)n7*B3}9h2oV6_?Puf`s7=n|W>Sh?@23D1GZpY$iJed{%0G-ap zqdLI$$GTAZ@2Cb@j8zP9P0~&vo0ARJFhwAQaqC( zq}VZY5gm+1rR0*6t7_-HWOeM5b*d^kcBamUl5-#iL}t!0ktbr-tVDzk%mO>7BB^WH zIrPp%y?0VXLCvIQ%q7)zwYs#}rSzX(|E7Mc>^r~g^I!BYeu!Lvi*ivu1sUw#x#&l2 zZWZ#u#~;sGFTHYqd+)(%OsZfYNKhn$K^6RvT?P>o7l;_uN+POA1^`qA zQ^B6&@jQM6wqwhH<~o(Y&L`dh1vPL4J+OiqwU{cL-r!$-(?j<@c&;z!H3tU&^lNXv ze6Oiu6<%=ros9OUICKW=elc{puLD#@`U#FV?L8bWZDGgF+j>K#hENO}44Vt26Dh^@a&c(B>fcHh`85#{# zwsSj5PR@Hml#u)6B0T{H9HqPf@#W&gJ#yvie@!vs;bZA>HMb*&Bu>B-e&jk zeaJIe5mbZ9TQ1lH8`dG_Y+zvM2-=iWo`VwS$(q3&&5gO7(M$ob2)5Cf<_Tc?M5(sz zB1^NW5eK5d@v-G=ff9%8ep1QC)ulT&{F5Lr;*tpM+ zDk2JMefl(HA~X?U?&)s93`#L1@+_v>$9wNs)GSy8bJTg7cY``WOlAt%z@$S|QDapC z8B~5$WAr$UB1&q7k=vZ7u`;mnEP3w&AxcpMM_M#b+j4BI@4EZg`#$pE$#YLh-)I1< zL-^8{-16_f@$=m3Ro&*9g~39MaeaM_*`M3kI5#QvU;wc-Vr8osGh*;=GM-p0=m$B? z2E)jpxPJk|gHh~N(DT&cUbyT^nE*AoiT1?lr^mXri z@LhKvg6;K9zqFVY`0k&6)6abGYXaMP6eO;khmz4uREjucFC{Bz<$cM8DpnN$LSis; z>`Eb(5=IM{BA6{KEI4vSEt^xt7`wV20h;7!=oW`z(xqHd&e+t`dnL0dHQjBC?5 zhByR&{v-COt_{F3FOG)e@mP?Es2CFaqB0mZak2#ffw_pxx>91dXJwfHH`=J+RYZXS zKtw`ar>+BloN_6J*aJX{(FI>}6cuC+p#qyjD07O$j-BuIsdK*TG9dw=Z8MD#5iqMr zj?p(G)vR5vnt^}==dFuv*ZsFYeNX?=_nDp^FUn_=G)qe_f8O)&dhlKX zEMUjh&KlT|8NhtyiWDRiDVd-oJv$wr8*hfHGP7JVn%)2S(SDKW`BMgf&^$~Gyd#_E zn>WvZIM*)y3bXOHI`oq+A?mKB-KW-1Z_IF^F*S1zKtKc~L*)$_)gYF6l9v)O7o3Nk z0jPmvE&WD>f%Vi@24cY6XAqyynsZ=Yg*^d=WOD(Lj1W(+(d*v&=!fq)eZCgAK6|$* z+ znJE(lGOj3hm;{+AmyX$krL0cX7{#-nbQ&bpwXYmDb-gs;jdpT&vx}L50y`4WT(W`d zQVJeC+SxH3Jl_5J{f~Y0V~?KQddi3B^~8a__1}5Lt+zdMr)M;(^K3J3ok>~SF>UuDlPD%!5j|g3tysyY{jZN&Pl9OXju>{8mR*d>!kGgIU z%_KWCBAO*5q#aA6ahm|8q*w)3(B*|{Jc%JlyG|`T=K{GdMg&Y<=e$>QqT+l|Rm&;VH8E=` z?PTIO01?fDS^)igP)p9vdqj{@Oceo%Fm^L!HbIqw$c8K>qZzu8QgY6ll*M85`1<7N z*)0S(uzPv&x@Y>q;%9n#yeOYdLd2i{qFaCDH~)K&{Cn*5$xCd#Jx{Q&`P|s(OY;FhGz3sz7X&w^-;rMqjn3=bz&q9nZ5@ zGXoRmWTNokqveh7ee}VDo97FE)AcJ~|0UO7x?2(P?uRb@y|>?g{){K)37 zzUjjsedP3o+VP1@u7PT9Y5RuaBZC4{=s|S{=s`!hkW%FSA5=0 zS3UEJTs z4&yeK>f_{-1x?Ryt%F+~(b`xIFlAt#rzPuCm!*tSASGJ zx%B9d-Wn@?LKy3lt$<_zgW#<6s1O9z^U7~tDk5MoLR0}ln9lHn4|MwK)vBGFUpb)h;wRo)z!VnTg`Q z)oN?jnNsYgjjv2;+DX8o<~Y<2Y;z2gNVng2`rUUveB?wrA5DH<&Vv<~2e3H<1K4cg zt#>^71vlNYFkC{#aq7sCrj5g=*Sy1~a%U%99R_P#n>&_~sWxtq%UlkH6txe*H^6|Jl1j zRTnWsVs@$IE=DFabq##?ng=%(YrVDv>dU-d<|T=S7fPyWtZ-}~5!b=dx7=cclL|Dzwe z|4{_EeDCVBuetnX&wa+_dzXs{V~*P^#|tepqItxn^By@^=@hwZTSPJuEeVB7PUP$H zcry@`BCXM^n3~j0)6LpG-hhZw*AaU&Lqs!U@4D%fof9dHJ?a-r$strZMF8!+i_UvO zQd7yf&m0Iu&iOtS^_(vp0ZfR!J0FE(&`q~6G>1=~{pf=S`;Pkcw>`VrvF|fIFDaLns3)i@-^G&5`p_&jLqI8|H6X`kU`Df;`kzdTnfN|_U75!yn7 z(0(dcEj-n_O>@4EB!yYF~(V+;T=ZQ=fdoA)35a24R%E0!<%2bL-`P__MA#t zU0ghJ>U6~*rBhnkI`!BzrK>N$x*4r>8&5FNq-#%|+q{0?5&)v3u5I6R`>{9Q{=fr| zZNLQ@R{=&IUj4G?zVby^4V)rERv?tUtIdD>mY4tQUw+%;r@Ou`|M@rH^NzbN`KDLi zx_^fwB2_`;%5zMyq)5a$rMjt2)%gHW0wW-b6jNb@tWb)Yw2VV$*T%GWWt3uDF%2D! zXOaD&C=V*$Ipj9w7`u(>%vnkZ%R`D%Vv;)^Is2!#|Jg?$J`PXyi{5b6-tYd~uN=~> zab~8js;Ax5loSY1R1@_?Xx?X)P!zAbvkyVk0I_OnQ44jwdG4%p-nmLubBsvTCsx8fXod*@5Yan_h|YWGy_AxAno1^# z*}znaiu48QIav@uq#z=q>rGxjLIm%K(JSEbwT&%-zCOEdz3nqSD_)e(O4;|UXI;8; z&*8JD0N~u_x`FOlUD%qXl5a_bxcn6_y7Y=mRdSyv8nhTA6zN@ zYEPH$)USWVj=%NAdk-Be|La|c4j(&nb^`z)Cb;k6jr$(nc&55D9~Wb7S^1k7)ND+Cs3$&vp+TUIViSA3L)(g}*@h z>2+AawO8)C<@!sWckPayD;~8h4|z~=Q|nKD`)zkVxcO7R^MNy4@IT*l|F6F3{%2jY z`Z>=!@S+>`5RL=GuyVtyMzc0{CC`{#QQ8`py5hwF5Rp}3mXsJb+IDquFbKnv({$sw z78^R3ryE3!VYu3i;M^GW{}(#*f9#{wkBP1PSC7$xi}tVmBXjk z>#7>MN-aNjV)EuY9{RHneq{YAc`*S1b}sRE{q0vj=Ze*0NU$(yDox!~(0O+3`T%oP zVTY)h(Hs;cuGps(3GM1jmjA`y`ogoXxb=>QpZMq_kKg&gV;5pg0brKlfkP+mKXl^! z_q{OCEQ|Dr_LPf>FjuB#U{&y_0KO_Bq6kL8`6AZE9DLO!W#_xL^&wb^R`PH-j9n5b zeezl~%PI3bUANOdPoP6~&eTl%s1oy`3ZcrW1F#S(Rdc~f$tH@31R$zRPDGH+MEjj{ z6?N=#$qS3a(??GBE%}T~ckOx3MP+tTJ{@82&42+EU~M*yQg&CPtywp2XCma#CCQ=! zW{6(Fz*8TCHS)gCV`%_gil6x8Pqt@FuO z>CZm=_=oO!3i?q69yr(|G0yz)|IrWGPjE{ExZ<+am)^YpSywEqF2M4L6=*ya7b+E2 zGe#UPjMm3n&%Cn!wSWEcciz4Ji+}K;trqS%cmeo36R!>puTE z&$x0QYE(eaKBuIDz|~^K#lSR+7-%MT08mmIRBjmPTo;GKW=cRrh^7Whi}fpCaP1d7 z_o}Vg=iPhwQYhh_rkrwGGDNIWwcRn|n+0#7v>6Mvkp3DFMa!zZTv}aWW01>*oDcsZGBZSi`E~1qpy#{aqJ7HBo?Hi-@-dSw(-GxjvhSx z6z?25xb5c4zWgQocdsatF{&tt0jeS3+&_v)M6TzGWCjyNP}P_Xz(maqoOdqpZO^Vh z=cX&$*%j}-XY%2Xoq6Q&>5cKzwaE6Q=(zW<&f^6Bx6=P^=Mr49XXUcp%g?`I_hq{V zJC~@UHmg&SQ3Jt4&f*|@u8LWkVaEb*PPV|+I~IWuzxCD6d*ur+ecd|`zwRw}&k|&T z2M(Qk;Ly2W0NA@q*IjwVD{eioYpGgZ05T)uSnSlsL~?0U-ZAvE>5Q8?#@MB_XhT!n z+&pt)BR+V%`_ns*96Wmb^f{63tx&qa9Y+W+yY=dC{-P_dx^&N(%}GpIzySa=Fq7mg zgzT!Vwp3LWV+!6I*x&iW8(;B)XZ+$DK5);&$IrLJ-47kV`=R5%#Bkd!*WdQ+D=u9f zEDSxPW2zi8c`QXtL4le<)6J%Zsyeus3RkXAc{X-ZQg+VQbu*bwN^aHQp~uc1Tig2J z1BdQ?_|cQ=`NB3oUy;v!?$v+eCC|CxvgH($N)|;^D5V`Wb(f-(7@c=qO*^SWC?aNN zMVVRDV$sW1hDmfZ989JY?;J=X=LsQ%f%n~uZ`k+Jn=YTF&s(3QJ0E`h{>L7F_~}h#)3YaE^VMH>`^OFq00dy?Vtv)6mt=((Tyx-A z2QKZpc*`xf?0nWO2VU~>zu+N9KJaIk-tt0M4?e}09>4uPn+G5I=$&^n(KBy(?&^&< z?YsGfpI-UT%SV3YSKjx&KmRAc@G}&u3(rqZp9WPmH8bb@aQE)N;*0)YN}NpMc!Ep| z|2Ku_$)7}-NuT`)o;VBN@t;2k2(P^Dz|GItxo_2Z2bJ&Dmh~)CYTLV9FpvE*gDgG1 zqjwk@^lnBsR{)|`3IfgbE1DrAA+#Bfoq~@Y*?89-51n57_);CXtor=tU-ROd7giTF z6;VY*Btj3Eogo?`qFIdQ9B|Lh$o4b!>0NBwGtzn5*uPkl9oXl+b2nVMuMTw6)vGsNG4L35-ab+X z5+Ts+9kB~y=$tr@yBGY z{n;H4u8rq~I&n@ zxHaxhJ&FB%iUp&6AQZwEzTlc~eZ@2Otd5!xm|%G{*qTLjVLX`uun*+DFJfw9rtC*) zYwUvuGgG}}#sAxHe93$6J@MOb{lKa9Cw;=EH-Yll^6>%vtvX6mEbER>Bcj0!;~VLl-w;XjTQr+SQ{g1 z&IKWySf2*Rh7_DHC8LTIs~op+%lWEJaX9pYKs$F=&$#rNTQ9h(&GyK#wYS`H|6LCr zg{RV4onKBO;$*zpGnMqTY*o|b6j4R{%m(Z?r_<0gdPojcow}I<6SL<5f`LlzI`n~E z$SJBCGa)-hG=xyq)2&Th9D!)kQq;y>%mT5LuIs$x&1sur_q^+`fFfoprKm~>!AzN* zsQ?lZOUd9IA%NMi@+qahg|FVd^65=v&GL@#{>qns&BuPB04!BhO1}T$Lqu@jLx=ia zBERzbRZs7E=bv18+ZR9d=HI*T9q)L}kN^CIPdI+Z`=0rEUvS6o|K^Q<^KbueUpIc@ z=&yg@zxvm|`dj%)mIW9fz3W$h@y2iX=1;E*01(HU|MJIv^7fD2`($RL|Le)lK^jq@rrtmUL!o{h?FG2xvN+!3F>TyH7dJ z4CaL2aOI_N<5ib^P9 zsosJ2J)|FqA!qPp#9X0f0YKC_ybBDJXwJ3e&?6y8Q3Ph^K%-$%WwIh>0GN40Qz^Q0 zg>PGFUiLg9+7$~f*4obU=G49afz$_6OR=78;^E_yM~`h(-aY?@-NZf@5s{rM&6Rsx z6{^K10TLP%DS)`VfZa^GjHzH93W72UyMkQpUK*)s&czW9>slmVx^v-)vl|X!=fVQ1xx%VT7(wpu$e#bpWrU_tspiUDUIzBmc{NP(YaPVor zDPC|;F+_pBg=B7E!$Ji&UBCafn=ZTlvc&_ts?}yFh_3QdqyuM=2x(YRF0xe9kgD}* zM6foM+19%EKE>EmN@yvH?)ld&zvNk8cgI5~{^WxXe01ANJ70!F$JY-X|4@HsbqKq6 z?*%YK6t!zE+r4*nsf%&e<&Pabfq;lmN;&lS+4Duc@M-7OSTEP?-}%bVdCm*2yL885 zokgT4Z53 z=!%q_LI|7FDN8q0COA& z!4V;|0T5HD8%VLP>l~9Bl#-DcOmj{}N(hyy3>TMk+j<|=w2v6`&X=44?exah>8*J0 z>Bn{~EbEIQHn< z-*U^}`R1oA900bC9sbs@{@OR*e#gG$K4wz{~qyriSWs-3oV<8p!30g2H|Qw?;9l$>)Su0_OXw?(R!Wug({}4jo0gYX7i+h=u+uTC>f*xc z=5(?;s%IHuN&}A=2G7_J*Iat-a@7HJlR?YcFu=!I}?D})-3ptQ_8ulHvY`GECle5&TS?%WnVP_ zMb(8$ONudi@3LAmsB`Lw;d$5WeEzjB*=q3*Kk(ok_uO~#0z>Wm+;eUU=N>zGzIYEE zKJ{@y3+M0u#9#*4rboHyx@(_z-GOT^+q+}re5kymY1bh+Q|U?`juthm74^)XYY1cr z>(iMPX}e94h1!R`!+L9T!%}8P1CO(4MGaJ3XmZI##1UsRL{c@71XY;LX5P6RGZXgt zPn|OYl)k&;uYnt>|#s*YVmA}J-*gPhW6VL5d( z=d09pRo$f2^;y#h35iS#J5O3J*}1a28CxBk*{y~n}7F*|K{Iq&z?B_z}-Lk zAO7R-y#4)qb}oO-7u|aI!9#}ptkLMlf8hH8psFebc;KyXIj_t#bwB$DZ)pJD`O$mN z9X_~v)pY=H?%;!;^Nrv7=w#1W9NI?KF0B+^>PygtR|L6<8P(>d6!{5L5OJ7|r z%nhkLo4)p+eCMye?ai-0x$zbM?t9Na^Vo;(dgd#>;Df*Ny667AuRDM8#69=D>`PvK z`pl`7W@)S4jI++b_AKuFq2KuB*L=-aUjOP(vx)v<>0Ln$Qfs<4O;n7~m8?0<2$>v< zssTDQGws0{Ip>thv}*xC0XDXtW;f`QT4qRK0&OZAZM)bEuDEP=*}mb+p0^;nf7asq z1n+w2+{QQ_JaS@loKByG(`VNZ*3OUCx(4rnX&x>H0LZ`y>zkkKg|M^$SMJ|=)786f zxqf+NNf$@mpSgWf%-M#?x6l3xTH{&$1MQh9Q~n z+HqFyk}M8NUb&po+iWIh34ahczV1*b@lgLwrh0Y(tVfhTE6XB*X5;_{*xFyds|=8_R+Z6QKq z1V=O)4W?aOUKm*Jx&oDFFeM@@25O|DxyR?KC*aDrv8#up^R*y;5}N;{zf%ggJI4|i3h{R)Kcs`A!=dg0W{Q2$yrK@s?IwRVRr02&+{wE(y#`V z(D-(;&ckI*UCy~_nv`O;zump9t8M_AN#4FxImemxcxmp_FKQdYd8pX{kuQ@AD{WP z-#A#^1pwc-v3BOc`*J(G^p;P5+sq793IN>q;k$1BhHuR6>|4M4wE^pm$@%T?&f#>^BEC1*cqF1h*nKy>c0 zgD?2HzjMd0|Bsvg&fo2S+ih&T|K5A|4OhPPKm6be|HhZ@ea_sB{`LR*-x%TwoiG;L=^oYGAfU6(=nodZJt3iuXTydNS({9-ej`bnr>V2M~qpE*~|O zzy8XdOQY)g%ZI(Y5&@8f9Tr6Zh=$G~8QPpI1Q3bY`YkI$1zcTL(3&i z+hR&-DmjD0k}|i+)fE>>Avh7}m)EL>eJ06_YAV`hAqHWjjd8bkc~p7dVVuPd2$n}R zn|bd=iiSmieB{)rVO6Q=!w=r~>?_V8_q6?1q?C+nKo!}JrFvs?#-kZmbWRdSN)2O}lBa%Jaaxfv-i>u}ei&v#2_NqH0}>B5DNa zvKYjzHls+cs%F;C7MDje;k9WQhRU3uO{Qk%LcKNZ78e&ZP7N7-Ff%dK(xsT$2P85i z$KH`^ySA#Tfun!;s#_-08^&FU$?iFHY!dCBM<35QE8t{2=}CU^0vF=W#jt1BE>)?# z|D0#v5L3Ki|K3sHT`Qw1aLEx|Wn!X+$c~-&l>&A#Goh-^*<*}IaTY~Y7Z-dsk{qF~ z22CTe0~gw;-uW7JZ5&5+)uw`|%fq^$P00w57wXw~4Wf%y` zuyMso-o|~{1)HnqEwdgVFdQ_~HnVfi2QA7j5TU807}*h{Z(~X+GNA)i1xHmymWr5& znR*{YO54u74}HKU5?0Ls5xUr#8F3gca8hLi*EBh$BGObfJ0~eBm=Bfa5{sVQnoYAk z`1tX)jj;fl*%iBY)*)QAW5KagDQy?GW-S0@fJ=6)`h`z(&+O^u8AO1R5)lq|T!1@J z{mnPMl>y3ATn+PJ*Uiav>*$eP*FO^gx{XZ-@W%Jw{;wZ?VD-8=GG*=1!Ew&3jHBUj zxMxqV$pD~U-m(8hFa0Z)**Vuo9|i9LfSGT-`s$B7bnk$g4?leHbIzREdF^$7#aDEj z8`C^<-qqe;{*u42z=#9jU;n*7{Nbt5vsWoa zaBVA=tjG+xFdCA9;v|`O3V@p|1Ux-ncb->9qeG|GN44F1_$Wf&u^7hD4I5NZWhg}%RkeuZEB5RuMNf@4 zcdqRG|Fier@w#1Ax$qccmQ~)i`#!y<_ny!K1OkyNB7zE7;EICZ^@^x`R@7@lEFfG! z^ooKMrAsfNgak+>q@5(E*WLGi+bXk+@%{1clY|hw2;Pgo`!W7FzkSwPd(E|1nPZMI zp7A_mt%-%Dc@*vq3({ty*{EYUvbfUD^P+MJC`q$OHoCsa+I~3K?o4;9fhM$y8ja4% z>T)YfhFA{^k7XJX=99y zAq4M5+lU|_N?S(N?e$3~%}gcQJ^IYeO4+Afyc?0cuR&SoqVq0IQ}5~|$t1=Il4&$a zR@YUM<-*K?jZS^2t2&OjK1nBu*8ScfZ8i`oPt!ra8-cPcAJJrxR%mSuK_NI7Jx3*R zI4qRXBOy>%m!wn(?0o1WjS#R!RRc&XPx8bJ3bSoyY@s{Q0wB@503gUUlFc&P1Py{& zW{Km8UfE98-_puGC|V&W6(JB&5!JOLrM#;N5lM-}7+}QHQ5GeRbXvWS60$5|?*!JB z(1}oxqKn2R%mPRfy|1beLbKJbtAe8wz*Oiz5W4bcFNP9edhMp965Syd1?7^ z&wbHTAN9sR{nP)x^>I)B54mRV>JgvP2%btddBv-L`R_jdA!E!xe*7cv`uHcGan%!E z^~ztII^)!--KT$dLuji301+6t?)M%@A%3f^?Y+-Iyy2dEt6n#sm;wNfERh9Ze0=i# zpa0~mKljDcpLR6>SZzi)Z(#v|?vbOv`o_O*t7eiV?|ApyAMj*@`2|7{5CY7`JO5D+ z`k}@kE`|Ui07jV_BZMeGibkkG_QJ3(nL>oZ90^A_iS^`0;73U6d>dy*lv)@DFq%4f zy3nmhovn-r1TG>Gr0J+H2#5fqD8^FwF2+Dfnnnf|LPd3miMAXa5+Dl@MrBZ9BLil1p+-VQw$)JH7jgQ`deRoPI~ zNOMJTvXdWOSZyY{3U#-LE@CI45CSldXSvb1+&eZgbqcU+bY^zfzSYi18|MUsh^QP6 z1P~d8Nhu1UAfmc1z4K|_K$2lukVaQmgrEcrsSrbqo+DeUq7S|vj&@)mECu=*OCAuV&2>V_BBN z5M#n|*QSm8j?X39_-GcES7)X=$ClQ!i{>G)D_nO6KmeM6gR5O=w#Ej%E}_ZNye5j!4t<(K~XJx~0xpYR}!)O_Ug*Z%XhpV~Y%`-&g=;U9g) z%Ql>M;lFnXJ}KNqi2sHs1AuyU$pL6<9)L!%j64EGUHxp&MtOddi^Ng?;;%_S}EZjko>bKm6l~<8usf-YI8ox$NJ4<^M}lMuSKV zA^_WGX0nV)cv#1VqN4IdWR(#P93!&_!H7Ug#mH70;t^gRLi~=?jNZE{000$Utw!R{kZ9G++6yZS0VD)c2#TO|m}d%6Ep#J`7=@a+ zj-y^w9I<|cfPlaPk%@>{#2}5-%mjewWak_F$T7y}MnEven6fBc z5Jcr;kQfx905>daLJ+Q5d=QQvAr`LKG~PUP;+QBvj?FY%T|M3$+vbX1W~~BDb-r5k z4dQsCd2DexOIzJ)xYS+VvSEiJ;1J5e+UlSy!0pC(r#)$H*&TG9tFtr-L26%THYBM9 z4o0z)JjQ`BMj|ki))a#G(PbK$nNeq27iAqIce^V@Ai{)53cat1v@wRrfUwr83Jx`8 zNme^&6h_j3WE2#x%4{ma&etKvN+bn{q2>tMB*xgtG931eHX>{j9YR3BywL=N5G6^I z7-R5WDN`0hREk|?6h)#CJR)gptH8!+LSbK9Vbe5bE<~-h51xH(vrK|}_T^`~PNA=5QmNaL+djQD8tg1=@AfzNsAGT{mUs4T+_xJi*tNllhec;PqnQS&k znjTr+Sih-yT{}*xZ*sAxKl}MN-mv+7Z}{uiz5l}%z?fF={P?H;?&F{SmFNERZ@&GV zrup5+9OB)m%|_(GDfOJ^J^$9PZhgn=-}sgfexwv{09KY)e&cW6`n!MgHy{3s*FN@_ zU-j=AB60)(MbPc{_PpmEqlDDdxfe{Ge$K;=RK|=b0Tr#UpOhkD^i{om$F}X8H+|^K zpZ%40eemL+dy%4bp+O+>Rr%X*eRJEk(pLVpTW>w@ibu^(&K_SL$rECO@>e|Pg}?Z_ zzuNj{+~a?U^_N#%?M5=?BFHR0213z_NGp!)eE<jd-V8nVM*hpIBZfouo!5R#H1k zgJKne51vpIfoF7)M%w{FU<9itBGj55Sp5kQo~)msLQp7*kVuiLyf9-3aik5S6ai{4 z$)Jk85+ab*I-<%_X=b6_kWM2pS{fN9mV||Xfdxf;fWc5u+-g@A)<8tno+676A;ut) zjX`5bTWgJ8UZY?AtJ{t)KqrUo8*G+fnvm8CNGpw6fva6$g=ji?Hqp|}gsOl5+{qHF zVY(&Flo8~V*@;$?jyD@+9fD|^CW*D)g+|K#Du&={S1+G_qZ@{DsVsZT!$FoL zn`X8xEglT6$kV);W`v;*>^K^$qCjdSG6&FB3!@@-iJ`hKtGZGc5{)6o$PSU~5Nu-7 zEY*6H91OP;N=KGY-g5sd{^B2RxaY91iU=Ugnoxu}dJf)drIZ!`o8^P5 zwu)1OsZA7NE7Or9N@(RKOLUsr@upS^w#`hqqQB=v@6SJQ<5%vPn_nv#RBu>vj38{S zZg(1!oO=-?d(FCt|zuxU;JnI;XKCU&aR+|W)pw9?Jvjm;B{%@d6c zEwiCzr<-QWM5CEdVoho^60$Ih#29Uo2IsX>+8FODB+T-LQU*AN;JkA&_$+U@Fv_CG zk=A){SX9gN@E>M^4{0a=rfFJh0kCP->2%i0sy^A&|1kQ82gs@MTX5u?FMI4Sz4N^{ zUiZ1rzy6OlY}{A@Ot)LFeg8*qfBRd$mn(jt5B_1u;jNcH`ZwP7uA6SY{<^<^+b_M~ z`MY=TNP!Y#p7zRLJ@C0t{=0@SiUdGgv%I!?$&bJI;^)8U;^)0+`x)on_rZ5P{PwXR zfUJ|}jxJ9S(FebIYWi>f^3NJzpZKz$+57n~O}5%FYRk#eW4GLX_uhLeSN-@?o_77e ze(;HxTw%06Wy_8$FSzVIfAD8Fefioy`M}$^oPYLz+*5wg=I_2|vA;5In+ULFcEifR zRZ+Ay9)%2&R*ZlI!f}*#CjuNn_CV;QOf)|d1<1DrfWSJ@Fs}`T1&P5LHLL=HVnL-q z5SYOz(Mm?;P#=L5NQBylqAEh<5OHP5fl(oXz+{UG7kmH!j1l5Va{dv;J`p0)8{f0< zN1nWU=N3gcsssviBq9Kjhc9zEw z8xvb5xki9vYpVvK@?pH4HjQ2G4-q8MQdFXiU0hjcHO7>&iLuTPi{RU#MnX+s6xPuJ zCDtU~htf-Cqz;uyRDxyYQ?4U`gbE9Co_+r8+2>#I(=Yv%#ku9X z?|8w_zU;332Y&r`|KL4OyqZXTheP<_0RRa{ZAk*40iN-=M>l3SJnYC%ee9DoI`pJ7 zll8`X>R07yPkquS|MqQ$N;Fdv6hIqs-e@# zoTnH;E66RlfC>RXP(fmBQ5K~~LX{X|KqP1+3Nu(6prZA=6QU@H!k}!DriqU%96e)T zj6pJr0H733wD`q8e9k|9=+4)?^`^zO^PcsXEU-dEt$6!%I@X#EVYt*?O?9k%Otfs8 zm|81(ojg~Hnu$HWGDs5DtIAgYsE;m&*hqDaG10i#>$WnxR6DJ84#A{Jl-S6O)v7xj zh7gc>WuSliZ8s;z{M9dBkZ2-9G1d#c(oo#caWTJ0$DqVdv0GYQ*)}~<*7a)H+c>#_ zK^D8q0DiTe} zQ2>aEfiZ>lyBRid>xlMY5zD7_g@u3FP#*P5x6zV7)X7CEne@iR7zr&?2R z9+k4G1?0LatTl?nSRF!bzyqU*AjZ|okELqowoOa(#}W&5U3NnaAc$;Qlc3YQ?$58S z?%dS;r{8+sO?MyuyH9=n!(aTyhralY(Z{iEwy|x)%w=b8*NW;82{F+sHF{9FI}fe1 z^~7(&5TDdDW9H}qkVt8zeeGUy_2s|u_aFGPVfoWfepI{F)LOaV##;HHs0U>YN>N;z-%E3@+4I*_p zO!Ib(kwZwb#z^~uw3g^0xK6uW_1303osFG*p<4(*ar6KO{~zMaMzgjsKT>cuB5|#o z+js3e?HmA@zWv7XFW#J(5e#7c_y_8DW${hK-bcRn#o?g?n;-r7)|Q0Ubn$sKTT;0gh2yn`VX@c+Mmrl;WF#v$8svTQ4 zzwdSbeRXMR$9d=PeDc%3wMBZZs1d%2`GyoB5g^7GgLCKo#B(3}#{Y5s*S|K^o)Uo5 zPu<;^n*6}0KAVEA!D(v%Kqq!=)28qJX?`bm%Z;}Ipi+ha&fB?LA!d2TA@s_MGzA|; zM$CkON&yIJ;1B>%5g1xe)aS`}jAnem2rhOl`e zGp1PXF$i-MlxQpl7pxI4I!bijg%GS!&D>ND5LgKr9e(Vpu{-XYzU}VCH@){8U%GAl zl|OOr8QUb)c6#~@L{cz2V+Y`t`bBT0S4@p>=rq+ze;N9{VO6vn3Q=+JN0;V=Oc1xB zl^+SiTJ^V1Z9B5O&}ow(w;Rn)-Z;8&!ZBCAsysvV@BfN_<9qJ}008$7pFaLuKXF=? zHRo0rl_FHITJ+n)<@WX~>fQ<6J!-A)mHlRtS(}|$UEDA>v0d4{a zWf>!fW)fU9_n%nh;1g@f*ibu7Wfaj$`i^20ACb{Y^vp^`2!M>1;Ed5BIMPTEqX@Hi zbxjH*g3;PLhY;4eGKI7@hFnz?0tq6raI@7ZhFz_asw@F82#^J16_Bc3l~|()mD0>E zNo?tA06=0;U=wrafyLMV^QRYkBl387+=ZuKamFmiNCvftQed>Lsw&AWaLBT3*dJW${9B*VU`lXenQ#UvN_P;%S zW!V4dO((wejs0_r%ZKI$hvyG``St^k`0b4R>mxSAD5VgA5Un*tmSaq8@|vG|&gjL1A<7yl0%rD7&~>_ z))RN!O8}p}{^m1Y_#H5leg`&cT|lJxEjMZ%sKBgF20)=00*IiR%98Oj){|g-l45Rr z{F@pE`bQ33`23$ad)wCMJ^Iq;Joj0xZ99Qs&%OI{grUIVv19PvT2ZY7FX zv%X9B|A6_bylKyU1`HBf(3+HRr~?F7qXLeR6v&9omxyB=b@~G^i14~E00BtsBk-Pl zJ7_*A4bg*A*sxf67?cVG0V4{42muR|)sR~3mk5Y}f{Z5vTp3YG2>>Dl4@JVkgg&q-nK2zPy;5texe{J)dT{ncV6?DNQ7t=gCAf-@m+~ zlhv_ya%4I5i}2=uUHIr1_SYw0JO%LH&mP#hvHhZ}H;*;*D1}0p8rxJX+==y~N;@`f zx#dMKvf3Xuv!pi!faO+VIvEZ;RCQg~p_T?>gjg3&Bf2a}d(JhKv{KUtc6Eu`lpYj< zC#ryFFCuv(17Xn0XeHijqe7^%EDNDFMkxisJEc-l!mL1IyB zEW8kkuLrrIDh6vbCF{aKHd#QURXL)ltT*);u z#575fqbEGPJm1PvO*HVBTZ1Y_t$Ss6rQg5w^!DXvUK}F%D90E2rI#Cf5T!^f zic#iQy0_my2LNemAM#n@Nnu-zAsU-;2zB&`R8~c1>GxjzjNA4dd)<3J@$nmOefpy> zeD0N(hrx1^W$fLkP7p$!rb(#!fzc+3AjY}|z$D9Kh=?f6L~2xMCPf?rAaIP@Xl)ZD z9IYXYChyz`Bn*Jorh~!2*u-e#gGT@jow!&40Du5VL_t)m(-FMTMLDs!GBeg`%xrk+ z6EFSJ9rqHz+dgys3y&R`KJ9|B9%-v64~@!Od?>6ZLM zJi(rO?taM|-!}DzH=lRr>5Ay+;^Mxe$8*9y%R7Gc|2gHFXaBo~(AtdF@R8-;face| zwJ+XrcLH`q5HZ@wF|vr`YRlA&QVIYzUvS>L|MsotKj|tD{PGvPfJi;(`Oo>ox4&h) zG5%YB{+F-sw0AuAihSbVVk+75(NA3T%x8T5O>evWIbOhgK0tu96n`4K(vBReyCNHq%tXIrf!O9Mqv zvmy|!$&w&I5bPE>I+g_#fgx}#3fKD?l!4k~mPrUG5kx_VKq!ikM`cO?L?n$w2!s^* z!ZWA7_|?N7_|)x>KJUsr8_A@x@Orl-uV>fSADcoEK<3ffQ?2woi!vIl!9l6FOthkK z;T=c_-p{mW=T=WBLKf~0yiH(nO==$+2?P*VgSDDL0kR8zEx4!RAMex--mVfMy<+FF)@#{Z%-jx^ZLb8a?Oj@Tu2H{e! z7pBHGQcgY`SuPHfZ^T?C$3)wisbuj>$ND=vRC&5(arKOLr!iCCaB#Riql1eyw}kKc z^wH1Xe4H5?3AhLX02*QdBKVVc+ljGM+60wrg`ORZPKWfLIxCon5R_N0huC;(&Ai6NO>b^CVAmySalh+ zHjTAGv2n8HBMzNJ7EP!~p)tx8Hc?ewHxeZTq-eu@+j2>V6%aEAtd%7_JSKwUkgOTy3lY=7sJcF;G^6 zcC+2DV@pAzsidS|)j&E=^sp{`@M#7G>MYY1Y*9I@^>{ncTun_)o;Ir{CZ~K|kGJwz zmqp}zjtpOU|0e*Tkv+JC6lNMxISVxMEJQ)17;0@Sb5u$xjc0F}dh07+{GqSj`LP>r z{rC;HJ@vA4pK;kasbXWTQZ$ign54@wDiK6MB5kz~E(Wi(0U~8IN6}gf3!)lTok=OB zM!iEL@SAW9#wK+!Af=SHF@`j4C}X{=5imy)yw>mht z(!KAF{}5+(_L--`%k5)YJrF%i>^kkzGfw&9p1m)4{9{@h*AbP$ zueb7P_3(<+g)jNVFOmAm-+SG{>T1$x5WvcC*c}vKdGqg2obp`~{{ui(mm^)eiyr&v z2R1(C7hXR5cmK3j7I*Bq7eGc4r&8wTcf93{AA8{=GARCArgQ=z0(q7Ze%t({FRO!d zbJiv?#s`XyBEZZZ_<2`7QD^Jy^1H9P@|O31=>EI+ob#L?0)Q=-TyXAbXYD_5=$^fM zuXy$|FFN~zt1q}%8x0~v8UM#BFYYgCX{@W|RcEv?oFZ%AE z`|{ochYlUivc|IOo;G{R*2&J{#l_$v5JnCt5kUb6BA`M7B+`IDNQe+w_+*S;*Wa<8 znaKK`L4e#glu87Kkx?tfk+fnW*tTKU%G!}5WhsbSBOs(E#(+qmM`A8a!GQq8hyb88 zupl$DjHqpqVO>pz6acR4#hi1B-Lz33KN0@nUl0DmkL?(x(*Z~rm_-0c*%7CM(cq&- zWJF*V1kX%9FoE=X-e}XS%Bu7LaXhm`FsN25$Ht)1T-L%BBnCmSu4$y$f!Z2m0mDc! zV2n|lB(d5kUxg%w$g!#dv=d6QiRIN}V~y;}^YXX84;m?03v~_mAC52ngWKBqZC73P z?$L!ov(cinMw@$}pMVqD~mC$H) z@0vHaE+%jK-lFqbJtTh z*J)$IgGlIA%jKXd5Q;`;wo&%9F?m{$QX}n}cB4_cp%u{F0EMXp zG^Sybs&+&;)@p_RAkR|g!?1FMTnAAk?OZ92j7h_yvFKFNP`FmQAi<=zF8kNsv+#Ex zz2U&|-UH0SEeo%D@ikYRv7zP|eGD9%?GD6RqhDTIvqtrbfe2bdjzh1i31G&Wey_iA zc0AQmvFoIb6TM!yz)ch58b~WwmZiyB*1=%tNh|a$(Fmji%y^Jq(cwe#xw8ypmYcT9F|D@t&6(rAXd4&G^F0d?dsVoNf}p0xK~D;=Znv~mGBap=&IrC#mB zXaVu2H@^ALulWhm-zlQu+u7;Qf5}IeS9f0VxXzXx-?W41Ctv*IfAWz}UUlL58_&6T zw5>U_>Fw|Qhy9=X#F@|j(X_puR8;M;jT2*sR@TC|2sS3|@ymbdH?Di^vBV*HddW;bp;c;dt_KKp5=`E3cYNGYRq@P4e-en2_TrdB`@;F4#3 z6SLy!Kk|&zf8-hKcXDd#pWgnrPk#CjFRw07jnC{mc<9!{xTLSA|Fb(oP$Vq`9;_w^j&I0tg&{lqh5- z03|_SJrIn-3^Ee!RDd8_g9r#C%er(KpeO-CLZwKf1%Bccr~lIj@A}eL4?pVs*>g`b z0E7rygCX((h(%Bdt58Ryl{M)6$jvDN)&#+Wb5T+SQYsP`s8p3UR0pm-b#n4CaRP=g zGKLWADB4&e6{2{KiYU>lWGkRzsI!($O;#72=t?V{5VuXX(p?G+@4t5LPv8Fa%`+eX zWesD~Fuw$uf~*0by=neKUzl&S;U}JZ`l)AF$nDO_@R%)c59Ft3C5sc=w-jrlwJLWs z&BSc6x7S`A%HBQ2KituM-zV>@M$!Q-0JVN2H|<4Ze!;qt9x16RzkL;_99SZkx}wX(+I+R8*DGghzk2Pe9NiFO_%YaJz4 zOWn$#0xp0jb^`y zTPLQ=YPHj99bM@jUmE`9`);`To?{Ovt^vTQ+a`bK#aB;_X&?wyB_N6*`Z7r@0x2E> z*MlM&qXl9svxy0SX^0_9)LO9^fkmJ@ECuy=1IH(3++eBb7S0VD%_P+WpF~hh1VWM- zRaL>q0>r1rh7dryF%X(YQLN_8u|dBVLlQ!0WU7&(R_prih8|3QJyfK|u{VYs2S7%R zV6-T5(dBsqy${ikwast;F7h`2p$+12z^~@3w2dyX@*4o zvP2>zRR>w=7o_VC-FW-$`;XpxbV0$oM)2Q!>MO6h=`))jbq#!P)|}b=l-K;_BktO9 z&2v8R|K5DY{!{HeURgU;g{Y{N&wV zk7cp(;_t?_Jj^b9+BJ>Wy6ic`nOn1(y_6tFS+z}2k(F73!e8tDzZ5<`=Pi0Eyp-}?!Set-}R`=ul?Zr zf9*Ga_qwm$I0!=xD%Gg~48srr-uc^qxb0*F*4e!2y>EEKfBCK7e&Lgzy7Tf&zL#6~ z;m>>;fI&$Pw0m}D5FyFisWx?8vl4BUuS=!Dk_s^@t741*nsmaEn1@EKQ?ouad;fr; zJQ84k`S@M4+s}ys&ONR9jz4)3huUNl%O~z;;DzpBykRFhvj^vnm2QNT`ARM)h3J?gdZvg-w)>RY{Q7f&qVt^Q;0R8&wu0Jss0pM+a`1m{% z091q{DG+2pQX$evMy8Py5+I@rgusELQ4%5pX+nr0Dup1DTJQlv#MIyj%SK3qSQXw! zNz+6)_=tpoM#L$cby~&;R|VB*WIogl%Nxfg`omR0x&7YauitaqEqARnb7(XG0p?cW z$XCw1KDKpayUN0RZ6fS8x5f=WTlIg^N~Nw;eHAg2zH5@m^QvH(s~rp4;ahcxo?y z!TB$IauXej;D*VKNV?lwcI+3|hG*??-F+JLmR0PN~uG$C39VF7lP03~TY z(j!(%dta3f(ku&ASyaJT%|14pNfqJ;Z&>UN-3uQ-n>8|xbbO@-lZ`jDHefIsMHAy~ zUlbe0CnBYtZ5Qa`_)WLpcJ>*kr@G;LYsrQ)suTAt_PSGJQ~9P-L-)wsi6h-%Z?e-E zYmOz!#IQf8gQO{Z?&f{3|IpX&-oFe0nSwHc08F>>7oPj1CtSF_KP=MJ5=w7S0S99g zDh&vkRWZ~dLhX7XgifxMPHOMV8jVtUX3Ki5lPdx!yg~Gg*s^+9*M<~o>^w9YVWE+nwWkiATdo+0rXz9vg~TnnL%l#Mljy8xBn||`Wyfpy5(bA zE_&MfXLWS%hOMVEz>baMfBcfC18Jp93_h^1uu=*IVhD{^rx^4`ByAzOst#Yc^U$Yn zxOr)~-kEa7jtx_t))`x7nvHD7?1YAxYPL4v5JHSL%j=>50Ate_oL1U-A7f0j27tKQ zDN>_)bEr#H8j-X%ks&x28CaR+-r&gM%AJSj_8vUAT!aURp6Nj;c!&UZ{_`78ecr!? zP53`%%lF@P??*mx(Mw+be@wA@@vd9BC}uBx?Ek(Y=D%^v%Ki79`ph5EHu*OWTe|0- zul(}|uKbx7b+&E$j?ev|h1$*Ceb3VEd*1n>kKB6yy<^SRD}MC3r#}9QZI?aVX_c#M z+4$J^@)wn>t53S(vG?!YUvc%=3om`?H9yp^ol!c(0L*oaKExP;RvLg~bfhKtV3PzQ z*FFNrW2-BF^`Q?T!0li7^qG&p`eEmPWM|f$-!rl0Ob&3)srkSB^(*V)5�ng{AwN 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 diff --git a/task_list/app/views/tasks/index.html.erb b/task_list/app/views/tasks/index.html.erb index b16c10310..fd620624a 100644 --- a/task_list/app/views/tasks/index.html.erb +++ b/task_list/app/views/tasks/index.html.erb @@ -1,2 +1,43 @@ -

Tasks#index

-

Find me in app/views/tasks/index.html.erb

+
+

Task List

+
    +
  • + <%= button_to('Add Task', create_task_path, class: 'button') %> +
  • +
  • + <%= button_to('All Tasks', tasks_path, method: :get, class: 'button') %> +
  • +
+ +
+ +

The Clock is Ticking...

+
    + <% @tasks.each do |task| %> +
  1. + <% if task[:complete] %> + <%= task[:task_name].capitalize %> + <% else %> + <%= task[:task_name].capitalize %> + <% end %> +
      +
    • + <% if task[:complete] %> + <%= 'Unmark Complete' %> + <% else %> + <%= 'Mark Complete' %> + <% end %> +
    • +
    • + <%= link_to 'Edit', edit_task_path(task[:id]) %> +
    • +
    • + <%= link_to 'Delete', delete_task_path(task[:id]) %> +
    • +
    +
  2. + + <% end %> +
+
+
diff --git a/task_list/config/routes.rb b/task_list/config/routes.rb index 4db21e1ab..050a62f8c 100644 --- a/task_list/config/routes.rb +++ b/task_list/config/routes.rb @@ -1,17 +1,18 @@ Rails.application.routes.draw do - get 'tasks/new' + get '/tasks', to: 'tasks#index', as: 'tasks' # tasks_path - get 'tasks/index' + get '/tasks/:id/edit', to: 'tasks#edit', as: 'edit_task' # edit_task_path - get 'tasks/edit' + get '/tasks/new', to: 'tasks#new', as: 'new_task' #new_task_path - get 'tasks/update' + get '/tasks/:id', to: 'tasks#show', as: 'task' #task_path - get 'tasks/destroy' + patch '/tasks/:id', to: 'tasks#update', as: 'update_task' # update_task_path - get 'tasks/create' + delete '/tasks', to: 'tasks#delete', as: 'delete_task' # delete_task_path + + post '/tasks', to: 'tasks#create', as: 'create_task' # create_task_path - get 'tasks/show' # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end From 2a7e6830060f290849c42b1e18b75abfe66d35ae Mon Sep 17 00:00:00 2001 From: IsabelDePapel Date: Fri, 22 Sep 2017 10:58:41 -0700 Subject: [PATCH 3/6] Added a partial --- task_list/app/assets/stylesheets/tasks.scss | 170 ++++++++++++++---- task_list/app/controllers/tasks_controller.rb | 85 +++++++-- task_list/app/models/task.rb | 2 + .../app/views/layouts/application.html.erb | 2 +- task_list/app/views/tasks/_form.html.erb | 21 +++ task_list/app/views/tasks/edit.html.erb | 25 ++- task_list/app/views/tasks/index.html.erb | 67 +++---- .../app/views/tasks/mark_complete.html.erb | 2 + task_list/app/views/tasks/new.html.erb | 14 +- task_list/app/views/tasks/show.html.erb | 22 ++- task_list/config/routes.rb | 7 +- .../db/migrate/20170919214121_create_tasks.rb | 12 ++ ...19214712_add_completion_status_to_tasks.rb | 5 + ...20519_delete_completion_date_from_tasks.rb | 5 + ...220939_change_description_to_text_field.rb | 6 + ...hange_column_name_completed_to_complete.rb | 5 + task_list/db/schema.rb | 11 +- task_list/test/fixtures/tasks.yml | 13 ++ task_list/test/models/task_test.rb | 7 + 19 files changed, 397 insertions(+), 84 deletions(-) create mode 100644 task_list/app/models/task.rb create mode 100644 task_list/app/views/tasks/_form.html.erb create mode 100644 task_list/app/views/tasks/mark_complete.html.erb create mode 100644 task_list/db/migrate/20170919214121_create_tasks.rb create mode 100644 task_list/db/migrate/20170919214712_add_completion_status_to_tasks.rb create mode 100644 task_list/db/migrate/20170919220519_delete_completion_date_from_tasks.rb create mode 100644 task_list/db/migrate/20170919220939_change_description_to_text_field.rb create mode 100644 task_list/db/migrate/20170920162012_change_column_name_completed_to_complete.rb create mode 100644 task_list/test/fixtures/tasks.yml create mode 100644 task_list/test/models/task_test.rb diff --git a/task_list/app/assets/stylesheets/tasks.scss b/task_list/app/assets/stylesheets/tasks.scss index 948fb4f5f..e0f4ca800 100644 --- a/task_list/app/assets/stylesheets/tasks.scss +++ b/task_list/app/assets/stylesheets/tasks.scss @@ -1,26 +1,36 @@ // Place all the styles related to the Tasks controller here. // They will automatically be included in application.css. // You can use Sass (SCSS) here: http://sass-lang.com/ +$side-margin: 5%; +$top-margin: 2rem; +$footer_size: 3rem; * { margin: 0; padding: 0; font-size: 1em; -} - -h1 { - // background-image: image-url('this_is_fine_dog.png'); - // background-size: cover; - // background-position: center; - // height: 15rem; + box-sizing: border-box; } /* FONTS */ -h1, ul, li { +h1, ul, li, p, label { font-family: 'Arial', helvetica, sans-serif; } -h1 { +label { + font-size: 1.25rem; +} +input { + font-family: monospace; + font-size: 1.25rem; +} + +header h1 { + font-size: 2rem; + margin-bottom: 3rem; +} + +.home h1 { font-size: 3rem; } @@ -38,38 +48,43 @@ ul > li { } .complete { + font-weight: bold; text-decoration: line-through; } -/* DISPLAY */ -body { - display: flex; - flex-direction: column; - min-height: 100vh; -} - -.index-container { - flex: 1; - margin: 3% 8%; +/* LAYOUT */ +html, body, .container { + height: 100%; } -h1, h2 { - display: flex; +main { + margin: 0 $side-margin; } -h2 { - margin-bottom: 1.5rem; +header h1 { + margin-left: $side-margin; + position: relative; + top: $top-margin; } -.list { - float: right; - padding: 2rem 2rem 2rem 4rem; - border: 2px black solid; - border-radius: 2rem; +h1 { + margin-right: 5rem; } footer { + background-color: black; + color: lightgray; text-align: center; + height: $footer_size; + font-family: helvetica, sans-serif; + position: relative; + top: -($footer_size); +} + +footer span { + font-size: 1rem; + position: relative; + top: 38%; } /* STYLE LINKS */ @@ -81,7 +96,98 @@ a { text-decoration: none; } -// .button { -// margin: 2rem; -// font-size: 2rem; -// } +.button { + font-size: 2rem; + margin: 1rem 0 2rem 0; + // border: 1px black solid; +} + +.options li { + display: inline-block; + width: 18%; +} + +.options li:first-of-type { + width: 48%; +} + + + +@media all and(min-width: 900px) { + .main-image { + // padding-right: 5rem; + // max-width: 50%; + width: 52%; + min-width: 35rem; + } + + .list { + display: inline-block; + border: 2px black solid; + border-radius: 2rem; + margin: 0; + + min-width: 20rem; + max-width: 37%; + vertical-align: top; + position: relative; + left: 10%; + + // height: 20rem; + } + + .list ol { + padding: 1rem 2rem 2rem 4rem; + } + + .task { + margin-top: 1rem; + margin-bottom: .5rem; + } + + .list h2 { + padding: 2rem 1.25rem 0 2rem; + } + +} + + +.show h1 { + font-size: 2rem; +} + +.status { + font-family: monospace; + margin-top: 1.5rem; +} + +label, input { + display: block; + padding: .25rem 0; +} + +label { + margin-top: 2rem; +} + +.checkbox { + display: inline-block; +} + +label.checkbox { + margin-right: 1rem; +} + +input.checkbox { + -webkit-appearance: none; + height: 20px; + width: 20px; + border: 1px darkgray solid; + border-radius: 3px; + vertical-align: text-bottom; + +} + +input.checkbox:checked { + background-color: orange; +} diff --git a/task_list/app/controllers/tasks_controller.rb b/task_list/app/controllers/tasks_controller.rb index 34b9239b8..76dd3d86e 100644 --- a/task_list/app/controllers/tasks_controller.rb +++ b/task_list/app/controllers/tasks_controller.rb @@ -1,37 +1,98 @@ class TasksController < ApplicationController - TASKS = [ { id: 1, task_name: 'buy groceries', complete: true }, - { id: 2, task_name: 'wash car', complete: false }, - { id: 3, task_name: 'do laundry', complete: false }, - { id: 4, task_name: 'lightning talk', complete: false } ] + # TASKS = [ { id: 1, task_name: 'buy groceries', complete: true }, + # { id: 2, task_name: 'wash car', complete: false }, + # { id: 3, task_name: 'do laundry', complete: false }, + # { id: 4, task_name: 'lightning talk', complete: false } ] def new + @task = Task.new end def index - @tasks = TASKS + @tasks = Task.order(:name) end def edit + @task = Task.find_by( id: params[:id].to_i ) + + unless @task + redirect_to root_path + end end def update + task = Task.find_by( id: params[:id].to_i ) + + unless task + # flash[:alert] + redirect_to root_path + end + + if task.update_attributes task_params + redirect_to root_path + else + render :edit + end end def destroy + @task = Task.find_by(id: params[:id].to_i) + + unless @task + @task.destroy + redirect_to root_path + else + # flash notice + render :index + end + + # + # unless @task + # @task.destroy + # redirect_to root_path + # else + # # flash notice + # render :show + # end end def create + @task = Task.new(name: params[:task][:name], description: params[:task][:description], due_date: params[:task][:due_date], complete: false) + + if @task.save + flash[:notice] = "Task added" + redirect_to root_path + else + flash[:alert] = "Task failed to add" + render :new + end end def show - id = params[:id].to_i - @task = nil + @task = Task.find( params[:id].to_i ) + # id = params[:id].to_i + # @task = nil + # + # TASKS.each do |task| + # if task[:id] == id + # @task = task + # end + # end + end - TASKS.each do |task| - if task[:id] == id - @task = task - end - end + def mark_complete + @task = Task.find( params[:id].to_i ) + @task.complete = @task.complete ? false : true + @task.save + + redirect_to root_path end + + private + + def task_params + return params.require(:task).permit(:name, :description, :due_date, :complete) + end + end diff --git a/task_list/app/models/task.rb b/task_list/app/models/task.rb new file mode 100644 index 000000000..3c2342421 --- /dev/null +++ b/task_list/app/models/task.rb @@ -0,0 +1,2 @@ +class Task < ApplicationRecord +end diff --git a/task_list/app/views/layouts/application.html.erb b/task_list/app/views/layouts/application.html.erb index f4d64f225..c31ba1688 100644 --- a/task_list/app/views/layouts/application.html.erb +++ b/task_list/app/views/layouts/application.html.erb @@ -11,7 +11,7 @@ <%= yield %>
- © 2017 By Me + © 2017 By Me
diff --git a/task_list/app/views/tasks/_form.html.erb b/task_list/app/views/tasks/_form.html.erb new file mode 100644 index 000000000..a51252f14 --- /dev/null +++ b/task_list/app/views/tasks/_form.html.erb @@ -0,0 +1,21 @@ +

+ PARTIAL!! +

+ +<%= form_for @task do |f| %> + + <%= f.label :name %> + <%= f.text_field :name %> + + <%= f.label :description %> + <%= f.text_field :description %> + + <%= f.label :due_date %> + <%= f.date_field :due_date %> + + <%# how to add class to these? %> + <%= f.label :complete, class: "checkbox" %> + <%= f.check_box :complete, class: "checkbox" %> + + <%= f.submit button_name, class: "button" %> +<% end %> diff --git a/task_list/app/views/tasks/edit.html.erb b/task_list/app/views/tasks/edit.html.erb index 374190308..1eb35c607 100644 --- a/task_list/app/views/tasks/edit.html.erb +++ b/task_list/app/views/tasks/edit.html.erb @@ -1,2 +1,23 @@ -

Tasks#edit

-

Find me in app/views/tasks/edit.html.erb

+
+
+

Edit Task

+
+
+ + <%= form_for @task do |f| %> + <%= f.label :name %> + <%= f.text_field :name %> + + <%= f.label :description %> + <%= f.text_field :description %> + + <%= f.label :due_date %> + <%= f.date_field :due_date %> + + <%= f.label :complete, class: "checkbox" %> + <%= f.check_box :complete, class: "checkbox" %> + + <%= f.submit class: "button" %> + <% end %> +
+
diff --git a/task_list/app/views/tasks/index.html.erb b/task_list/app/views/tasks/index.html.erb index fd620624a..8d17e0f2b 100644 --- a/task_list/app/views/tasks/index.html.erb +++ b/task_list/app/views/tasks/index.html.erb @@ -1,43 +1,50 @@ -
-

Task List

-
    -
  • - <%= button_to('Add Task', create_task_path, class: 'button') %> -
  • -
  • - <%= button_to('All Tasks', tasks_path, method: :get, class: 'button') %> -
  • -
+
-
+
+

Task List

+
+
+ <%= image_tag('this_is_fine_dog.png', alt: 'This is Fine cartoon', class: "main-image") %> -

The Clock is Ticking...

-
    +
    + +

    The Clock is Ticking...

    +
      <% @tasks.each do |task| %> -
    1. - <% if task[:complete] %> - <%= task[:task_name].capitalize %> - <% else %> - <%= task[:task_name].capitalize %> - <% end %> -
        + <% @status = task.complete ? 'complete' : 'incomplete' %> +
      • + <%= link_to(task.name.capitalize, task_path(task.id)) %> +
      • +
        • - <% if task[:complete] %> - <%= 'Unmark Complete' %> - <% else %> - <%= 'Mark Complete' %> - <% end %> + <% @toggle = task.complete ? 'Unmark Complete' : 'Mark Complete' %> + <%= link_to(@toggle, complete_task_path(task.id), method: :patch) %>
        • - <%= link_to 'Edit', edit_task_path(task[:id]) %> + <%= link_to 'Edit', edit_task_path(task.id) %>
        • - <%= link_to 'Delete', delete_task_path(task[:id]) %> + <%= link_to('Delete', delete_task_path(task.id), method: :delete) %>
        - + <% end %> -
    -
    +
+
+ +
+ +
    +
  • + <%# link_to('Add Task', create_task_path, method: :new) %> + <%= button_to('Add Task', new_task_path, method: :get) %> +
  • +
  • + <%# link_to('All Tasks', tasks_path) %> + <%= button_to('All Tasks', tasks_path, method: :get) %> +
  • +
+
+
diff --git a/task_list/app/views/tasks/mark_complete.html.erb b/task_list/app/views/tasks/mark_complete.html.erb new file mode 100644 index 000000000..dbdf699a3 --- /dev/null +++ b/task_list/app/views/tasks/mark_complete.html.erb @@ -0,0 +1,2 @@ +

Tasks#mark_complete

+

Find me in app/views/tasks/mark_complete.html.erb

diff --git a/task_list/app/views/tasks/new.html.erb b/task_list/app/views/tasks/new.html.erb index 2484008a3..a5a6cce0f 100644 --- a/task_list/app/views/tasks/new.html.erb +++ b/task_list/app/views/tasks/new.html.erb @@ -1,2 +1,12 @@ -

Tasks#new

-

Find me in app/views/tasks/new.html.erb

+
+
+

New Task

+
+ +
+ <%= render partial: "form", locals: { button_name: "Add Task" } %> + + + +
+
diff --git a/task_list/app/views/tasks/show.html.erb b/task_list/app/views/tasks/show.html.erb index 1139224db..aee326b1e 100644 --- a/task_list/app/views/tasks/show.html.erb +++ b/task_list/app/views/tasks/show.html.erb @@ -1,2 +1,20 @@ -

Tasks#show

-

Find me in app/views/tasks/show.html.erb

+
+ +
+

<%= @task.name.capitalize %>

+
+
+ + +

+ <%= @task.description %> +

+

+ Status: <%= @task.complete ? "Done! Awesome sauce!" : "due #{@task.due_date}" %> +

+ +

+ <%= button_to('Edit Task', edit_task_path, method: :get, class: "button") %> +

+
+
diff --git a/task_list/config/routes.rb b/task_list/config/routes.rb index 050a62f8c..910996e9c 100644 --- a/task_list/config/routes.rb +++ b/task_list/config/routes.rb @@ -1,18 +1,21 @@ Rails.application.routes.draw do + root to: 'tasks#index' + get '/tasks', to: 'tasks#index', as: 'tasks' # tasks_path get '/tasks/:id/edit', to: 'tasks#edit', as: 'edit_task' # edit_task_path get '/tasks/new', to: 'tasks#new', as: 'new_task' #new_task_path + patch '/tasks/:id/mark_complete', to: 'tasks#mark_complete', as: 'complete_task' # complete_task_path + get '/tasks/:id', to: 'tasks#show', as: 'task' #task_path patch '/tasks/:id', to: 'tasks#update', as: 'update_task' # update_task_path - delete '/tasks', to: 'tasks#delete', as: 'delete_task' # delete_task_path + delete '/tasks/:id', to: 'tasks#destroy', as: 'delete_task' # delete_task_path post '/tasks', to: 'tasks#create', as: 'create_task' # create_task_path - # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end diff --git a/task_list/db/migrate/20170919214121_create_tasks.rb b/task_list/db/migrate/20170919214121_create_tasks.rb new file mode 100644 index 000000000..644dc7e9b --- /dev/null +++ b/task_list/db/migrate/20170919214121_create_tasks.rb @@ -0,0 +1,12 @@ +class CreateTasks < ActiveRecord::Migration[5.1] + def change + create_table :tasks do |t| + t.string :name + t.string :description + t.date :due_date + t.date :completion_date + + t.timestamps + end + end +end diff --git a/task_list/db/migrate/20170919214712_add_completion_status_to_tasks.rb b/task_list/db/migrate/20170919214712_add_completion_status_to_tasks.rb new file mode 100644 index 000000000..3c238e86c --- /dev/null +++ b/task_list/db/migrate/20170919214712_add_completion_status_to_tasks.rb @@ -0,0 +1,5 @@ +class AddCompletionStatusToTasks < ActiveRecord::Migration[5.1] + def change + add_column(:tasks, :completed, :boolean) + end +end diff --git a/task_list/db/migrate/20170919220519_delete_completion_date_from_tasks.rb b/task_list/db/migrate/20170919220519_delete_completion_date_from_tasks.rb new file mode 100644 index 000000000..3498a1299 --- /dev/null +++ b/task_list/db/migrate/20170919220519_delete_completion_date_from_tasks.rb @@ -0,0 +1,5 @@ +class DeleteCompletionDateFromTasks < ActiveRecord::Migration[5.1] + def change + remove_column(:tasks, :completion_date, :date) + end +end diff --git a/task_list/db/migrate/20170919220939_change_description_to_text_field.rb b/task_list/db/migrate/20170919220939_change_description_to_text_field.rb new file mode 100644 index 000000000..60fe7660b --- /dev/null +++ b/task_list/db/migrate/20170919220939_change_description_to_text_field.rb @@ -0,0 +1,6 @@ +class ChangeDescriptionToTextField < ActiveRecord::Migration[5.1] + def change + remove_column(:tasks, :description, :string) + add_column(:tasks, :description, :text) + end +end diff --git a/task_list/db/migrate/20170920162012_change_column_name_completed_to_complete.rb b/task_list/db/migrate/20170920162012_change_column_name_completed_to_complete.rb new file mode 100644 index 000000000..0de8be35c --- /dev/null +++ b/task_list/db/migrate/20170920162012_change_column_name_completed_to_complete.rb @@ -0,0 +1,5 @@ +class ChangeColumnNameCompletedToComplete < ActiveRecord::Migration[5.1] + def change + rename_column(:tasks, :completed, :complete) + end +end diff --git a/task_list/db/schema.rb b/task_list/db/schema.rb index 2611543b3..c31165da7 100644 --- a/task_list/db/schema.rb +++ b/task_list/db/schema.rb @@ -10,9 +10,18 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 0) do +ActiveRecord::Schema.define(version: 20170920162012) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" + create_table "tasks", force: :cascade do |t| + t.string "name" + t.date "due_date" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.boolean "complete" + t.text "description" + end + end diff --git a/task_list/test/fixtures/tasks.yml b/task_list/test/fixtures/tasks.yml new file mode 100644 index 000000000..7b6e5d4fa --- /dev/null +++ b/task_list/test/fixtures/tasks.yml @@ -0,0 +1,13 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + name: + description: + due_date: + completion_date: 2017-09-19 + +two: + name: + description: + due_date: + completion_date: 2017-09-19 diff --git a/task_list/test/models/task_test.rb b/task_list/test/models/task_test.rb new file mode 100644 index 000000000..3ca215970 --- /dev/null +++ b/task_list/test/models/task_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class TaskTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end From 44c3a5dd3e7e07c6bb1f9f5bfcd92e23058e1b6d Mon Sep 17 00:00:00 2001 From: IsabelDePapel Date: Fri, 22 Sep 2017 15:40:04 -0700 Subject: [PATCH 4/6] Finished wave 4 --- task_list/app/assets/stylesheets/tasks.scss | 131 ++++++++++++++---- task_list/app/controllers/tasks_controller.rb | 29 ++-- .../app/views/layouts/application.html.erb | 2 +- task_list/app/views/tasks/_form.html.erb | 13 +- task_list/app/views/tasks/create.html.erb | 5 + task_list/app/views/tasks/edit.html.erb | 15 +- task_list/app/views/tasks/index.html.erb | 45 +++--- task_list/app/views/tasks/show.html.erb | 3 +- ...0922181106_add_completion_date_to_tasks.rb | 5 + ...5705_delete_complete_boolean_from_tasks.rb | 4 + ...e_complete_from_tasks_add_functionality.rb | 5 + task_list/db/schema.rb | 4 +- 12 files changed, 169 insertions(+), 92 deletions(-) create mode 100644 task_list/db/migrate/20170922181106_add_completion_date_to_tasks.rb create mode 100644 task_list/db/migrate/20170922185705_delete_complete_boolean_from_tasks.rb create mode 100644 task_list/db/migrate/20170922194607_delete_complete_from_tasks_add_functionality.rb diff --git a/task_list/app/assets/stylesheets/tasks.scss b/task_list/app/assets/stylesheets/tasks.scss index e0f4ca800..99be277a9 100644 --- a/task_list/app/assets/stylesheets/tasks.scss +++ b/task_list/app/assets/stylesheets/tasks.scss @@ -4,6 +4,8 @@ $side-margin: 5%; $top-margin: 2rem; $footer_size: 3rem; +$img-width: 52%; +$btn-height: 3.5rem; * { margin: 0; @@ -43,7 +45,11 @@ ol > li { font-size: 1.5rem; } -ul > li { +.show p { + font-size: 1.5rem; +} + +.options { font-size: 1rem; } @@ -53,8 +59,46 @@ ul > li { } /* LAYOUT */ -html, body, .container { - height: 100%; +// html, body, .container { +// height: 100%; +// } + +.main-block { + display: inline-block; + // width: $img-width; + // border: 1px black solid; + // height: 2rem; +} + +#add, #all { + display: inline-block; + width: 49.5%; + text-align: center; + margin-top: $btn-height; + margin-bottom: $btn-height; +} + +#add input, #all input, .button { + -webkit-appearance: none; + width: 100%; + height: $btn-height; + text-align: center; + // background-color: rgb(4, 110, 2); + // background-color: #697A21; + background-color: #386C0B; + // color: #B8B42D; + color: #BEBA40; + color: #E3B23C; + color: #FCCE44; + color: #ffde00; + font-family: 'Encode Sans Expanded', helvetica, sans-serif; + font-size: 1.5rem; + border-style: none; +} + +#add input:hover, #all input:hover { + background-color: #ffde00; + color: #386C0B; } main { @@ -77,8 +121,10 @@ footer { text-align: center; height: $footer_size; font-family: helvetica, sans-serif; - position: relative; - top: -($footer_size); + position: fixed; + bottom: 0; + width: 100%; + // top: -($footer_size); } footer span { @@ -96,28 +142,36 @@ a { text-decoration: none; } -.button { - font-size: 2rem; - margin: 1rem 0 2rem 0; - // border: 1px black solid; -} + .options li { display: inline-block; width: 18%; } +.list a:link, .list a:visited { + color: black; +} + .options li:first-of-type { width: 48%; } +#edit-task { + border-right: 1px black solid; + border-left: 1px black solid; + text-align: center; +} +#delete-task { + padding-left: .5rem; +} -@media all and(min-width: 900px) { +// @media all and(min-width: 900px) { .main-image { // padding-right: 5rem; // max-width: 50%; - width: 52%; + // width: 100%; min-width: 35rem; } @@ -149,7 +203,7 @@ a { padding: 2rem 1.25rem 0 2rem; } -} +// } .show h1 { @@ -164,30 +218,49 @@ a { label, input { display: block; padding: .25rem 0; + width: 16.25rem; } label { margin-top: 2rem; } -.checkbox { - display: inline-block; -} - -label.checkbox { - margin-right: 1rem; +.overdue a::after { + content: " OVERDUE"; + color: red; } -input.checkbox { +.button { -webkit-appearance: none; - height: 20px; - width: 20px; - border: 1px darkgray solid; - border-radius: 3px; - vertical-align: text-bottom; - + border: 1px black solid; + display: inline-block; + // width: $img-width / 2; + // margin: 0 3rem; + font-size: 1.25rem; + margin-top: 3rem; + width: 16.25rem; + // margin: 1rem 0 2rem 0; + // border: 1px black solid; } -input.checkbox:checked { - background-color: orange; -} +// .checkbox { +// display: inline-block; +// } +// +// label.checkbox { +// margin-right: 1rem; +// } +// +// input.checkbox { +// -webkit-appearance: none; +// height: 20px; +// width: 20px; +// border: 1px darkgray solid; +// border-radius: 3px; +// vertical-align: text-bottom; +// +// } +// +// input.checkbox:checked { +// background-color: orange; +// } diff --git a/task_list/app/controllers/tasks_controller.rb b/task_list/app/controllers/tasks_controller.rb index 76dd3d86e..cdfd0e281 100644 --- a/task_list/app/controllers/tasks_controller.rb +++ b/task_list/app/controllers/tasks_controller.rb @@ -10,7 +10,8 @@ def new end def index - @tasks = Task.order(:name) + # @tasks = Task.order('LOWER(name)') + @tasks = Task.order(:due_date) end def edit @@ -38,27 +39,14 @@ def update def destroy @task = Task.find_by(id: params[:id].to_i) + @task.destroy - unless @task - @task.destroy - redirect_to root_path - else - # flash notice - render :index - end + redirect_to root_path - # - # unless @task - # @task.destroy - # redirect_to root_path - # else - # # flash notice - # render :show - # end end def create - @task = Task.new(name: params[:task][:name], description: params[:task][:description], due_date: params[:task][:due_date], complete: false) + @task = Task.new(name: params[:task][:name], description: params[:task][:description], due_date: params[:task][:due_date], completion_date: params[:task][:completion_date]) if @task.save flash[:notice] = "Task added" @@ -83,7 +71,10 @@ def show def mark_complete @task = Task.find( params[:id].to_i ) - @task.complete = @task.complete ? false : true + @task.completion_date = @task.completion_date ? nil : Date.today + + # @task.complete = @task.complete ? false : true + @task.save redirect_to root_path @@ -92,7 +83,7 @@ def mark_complete private def task_params - return params.require(:task).permit(:name, :description, :due_date, :complete) + return params.require(:task).permit(:name, :description, :due_date, :completion_date) end end diff --git a/task_list/app/views/layouts/application.html.erb b/task_list/app/views/layouts/application.html.erb index c31ba1688..cf6ec79ed 100644 --- a/task_list/app/views/layouts/application.html.erb +++ b/task_list/app/views/layouts/application.html.erb @@ -3,7 +3,7 @@ TaskList <%= csrf_meta_tags %> - + <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> diff --git a/task_list/app/views/tasks/_form.html.erb b/task_list/app/views/tasks/_form.html.erb index a51252f14..b38dc3592 100644 --- a/task_list/app/views/tasks/_form.html.erb +++ b/task_list/app/views/tasks/_form.html.erb @@ -1,6 +1,3 @@ -

- PARTIAL!! -

<%= form_for @task do |f| %> @@ -8,14 +5,16 @@ <%= f.text_field :name %> <%= f.label :description %> - <%= f.text_field :description %> + <%= f.text_area :description, size: "30x4" %> <%= f.label :due_date %> <%= f.date_field :due_date %> - <%# how to add class to these? %> - <%= f.label :complete, class: "checkbox" %> - <%= f.check_box :complete, class: "checkbox" %> + <%= f.label :completion_date %> + <%= f.date_field :completion_date %> + + <%# f.label :complete, class: "checkbox" %> + <%# f.check_box :complete, class: "checkbox" %> <%= f.submit button_name, class: "button" %> <% end %> diff --git a/task_list/app/views/tasks/create.html.erb b/task_list/app/views/tasks/create.html.erb index fcad439c4..2bf739932 100644 --- a/task_list/app/views/tasks/create.html.erb +++ b/task_list/app/views/tasks/create.html.erb @@ -1,2 +1,7 @@

Tasks#create

Find me in app/views/tasks/create.html.erb

+ +

+ <% if flash[:notice] %> + <%= flash[:notice] %> +

diff --git a/task_list/app/views/tasks/edit.html.erb b/task_list/app/views/tasks/edit.html.erb index 1eb35c607..cac19b440 100644 --- a/task_list/app/views/tasks/edit.html.erb +++ b/task_list/app/views/tasks/edit.html.erb @@ -4,20 +4,7 @@
- <%= form_for @task do |f| %> - <%= f.label :name %> - <%= f.text_field :name %> + <%= render partial: "form", locals: { button_name: "Update Task Info" } %> - <%= f.label :description %> - <%= f.text_field :description %> - - <%= f.label :due_date %> - <%= f.date_field :due_date %> - - <%= f.label :complete, class: "checkbox" %> - <%= f.check_box :complete, class: "checkbox" %> - - <%= f.submit class: "button" %> - <% end %>
diff --git a/task_list/app/views/tasks/index.html.erb b/task_list/app/views/tasks/index.html.erb index 8d17e0f2b..9d2ff58f7 100644 --- a/task_list/app/views/tasks/index.html.erb +++ b/task_list/app/views/tasks/index.html.erb @@ -4,27 +4,43 @@

Task List

- <%= image_tag('this_is_fine_dog.png', alt: 'This is Fine cartoon', class: "main-image") %> +
+ + <%= image_tag('this_is_fine_dog.png', alt: 'This is Fine cartoon', class: "main-image") %> + +
    +
  • + <%# link_to('Add Task', create_task_path, method: :new) %> + <%= button_to('Add Task', new_task_path, method: :get) %> +
  • +
  • + <%# link_to('All Tasks', tasks_path) %> + <%= button_to('All Tasks', tasks_path, method: :get) %> +
  • +
+

The Clock is Ticking...

+
    <% @tasks.each do |task| %> - <% @status = task.complete ? 'complete' : 'incomplete' %> -
  1. + <% @status = task.completion_date ? 'complete' : 'incomplete' %> + <% @overdue = !task.completion_date && task.due_date < Date.today ? 'overdue' : 'on-time' %> +
  2. <%= link_to(task.name.capitalize, task_path(task.id)) %>
    • - <% @toggle = task.complete ? 'Unmark Complete' : 'Mark Complete' %> + <% @toggle = task.completion_date ? 'Unmark Complete' : 'Mark Complete' %> <%= link_to(@toggle, complete_task_path(task.id), method: :patch) %>
    • -
    • +
    • <%= link_to 'Edit', edit_task_path(task.id) %>
    • -
    • - <%= link_to('Delete', delete_task_path(task.id), method: :delete) %> +
    • + <%= link_to('Delete', delete_task_path(task.id), method: :delete, data: { confirm: "Delete #{task.name} from task list?" } ) %>
    @@ -33,18 +49,9 @@
-
+ -
    -
  • - <%# link_to('Add Task', create_task_path, method: :new) %> - <%= button_to('Add Task', new_task_path, method: :get) %> -
  • -
  • - <%# link_to('All Tasks', tasks_path) %> - <%= button_to('All Tasks', tasks_path, method: :get) %> -
  • -
-
+ +
diff --git a/task_list/app/views/tasks/show.html.erb b/task_list/app/views/tasks/show.html.erb index aee326b1e..a6588becb 100644 --- a/task_list/app/views/tasks/show.html.erb +++ b/task_list/app/views/tasks/show.html.erb @@ -10,10 +10,11 @@ <%= @task.description %>

- Status: <%= @task.complete ? "Done! Awesome sauce!" : "due #{@task.due_date}" %> + Status: <%= @task.completion_date ? "Completed on #{@task.completion_date}! Awesome sauce!" : "due #{@task.due_date}" %>

+ <%= button_to('Task List', root_path, method: :get, class: "button") %> <%= button_to('Edit Task', edit_task_path, method: :get, class: "button") %>

diff --git a/task_list/db/migrate/20170922181106_add_completion_date_to_tasks.rb b/task_list/db/migrate/20170922181106_add_completion_date_to_tasks.rb new file mode 100644 index 000000000..98bb84e30 --- /dev/null +++ b/task_list/db/migrate/20170922181106_add_completion_date_to_tasks.rb @@ -0,0 +1,5 @@ +class AddCompletionDateToTasks < ActiveRecord::Migration[5.1] + def change + add_column(:tasks, :completion_date, :date) + end +end diff --git a/task_list/db/migrate/20170922185705_delete_complete_boolean_from_tasks.rb b/task_list/db/migrate/20170922185705_delete_complete_boolean_from_tasks.rb new file mode 100644 index 000000000..76c2649dc --- /dev/null +++ b/task_list/db/migrate/20170922185705_delete_complete_boolean_from_tasks.rb @@ -0,0 +1,4 @@ +class DeleteCompleteBooleanFromTasks < ActiveRecord::Migration[5.1] + def change + end +end diff --git a/task_list/db/migrate/20170922194607_delete_complete_from_tasks_add_functionality.rb b/task_list/db/migrate/20170922194607_delete_complete_from_tasks_add_functionality.rb new file mode 100644 index 000000000..d8fc79171 --- /dev/null +++ b/task_list/db/migrate/20170922194607_delete_complete_from_tasks_add_functionality.rb @@ -0,0 +1,5 @@ +class DeleteCompleteFromTasksAddFunctionality < ActiveRecord::Migration[5.1] + def change + remove_column(:tasks, :complete, :boolean) + end +end diff --git a/task_list/db/schema.rb b/task_list/db/schema.rb index c31165da7..32127bcc3 100644 --- a/task_list/db/schema.rb +++ b/task_list/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20170920162012) do +ActiveRecord::Schema.define(version: 20170922194607) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -20,8 +20,8 @@ t.date "due_date" t.datetime "created_at", null: false t.datetime "updated_at", null: false - t.boolean "complete" t.text "description" + t.date "completion_date" end end From aab2c3c3c954a8094c004e6a0eba8ed1b9d93d2e Mon Sep 17 00:00:00 2001 From: IsabelDePapel Date: Thu, 28 Sep 2017 15:07:47 -0700 Subject: [PATCH 5/6] Minor CSS modifications --- task_list/app/assets/stylesheets/tasks.scss | 73 ++++++++------------- 1 file changed, 26 insertions(+), 47 deletions(-) diff --git a/task_list/app/assets/stylesheets/tasks.scss b/task_list/app/assets/stylesheets/tasks.scss index 99be277a9..5e4d59bcd 100644 --- a/task_list/app/assets/stylesheets/tasks.scss +++ b/task_list/app/assets/stylesheets/tasks.scss @@ -4,7 +4,6 @@ $side-margin: 5%; $top-margin: 2rem; $footer_size: 3rem; -$img-width: 52%; $btn-height: 3.5rem; * { @@ -59,15 +58,8 @@ ol > li { } /* LAYOUT */ -// html, body, .container { -// height: 100%; -// } - .main-block { display: inline-block; - // width: $img-width; - // border: 1px black solid; - // height: 2rem; } #add, #all { @@ -142,8 +134,6 @@ a { text-decoration: none; } - - .options li { display: inline-block; width: 18%; @@ -167,44 +157,36 @@ a { padding-left: .5rem; } -// @media all and(min-width: 900px) { - .main-image { - // padding-right: 5rem; - // max-width: 50%; - // width: 100%; - min-width: 35rem; - } - - .list { - display: inline-block; - border: 2px black solid; - border-radius: 2rem; - margin: 0; - - min-width: 20rem; - max-width: 37%; - vertical-align: top; - position: relative; - left: 10%; - - // height: 20rem; - } +.main-image { + min-width: 35rem; +} - .list ol { - padding: 1rem 2rem 2rem 4rem; - } +.list { + display: inline-block; + border: 2px black solid; + border-radius: 2rem; + margin: 0; - .task { - margin-top: 1rem; - margin-bottom: .5rem; - } + min-width: 20rem; + max-width: 37%; + vertical-align: top; + position: relative; + left: 10%; + margin-bottom: 4rem; +} - .list h2 { - padding: 2rem 1.25rem 0 2rem; - } +.list ol { + padding: 1rem 2rem 2rem 4rem; +} -// } +.task { + margin-top: 1rem; + margin-bottom: .5rem; +} +.list h2 { + padding: 2rem 1.25rem 0 2rem; +} .show h1 { font-size: 2rem; @@ -234,13 +216,10 @@ label { -webkit-appearance: none; border: 1px black solid; display: inline-block; - // width: $img-width / 2; - // margin: 0 3rem; font-size: 1.25rem; margin-top: 3rem; width: 16.25rem; - // margin: 1rem 0 2rem 0; - // border: 1px black solid; + } // .checkbox { From e1ab81f11963f2d207f3a8eac26c1fdfbecec3f2 Mon Sep 17 00:00:00 2001 From: IsabelDePapel Date: Thu, 5 Oct 2017 10:20:25 -0700 Subject: [PATCH 6/6] fixed folder nesting --- .DS_Store | Bin 0 -> 6148 bytes task_list/Gemfile => Gemfile | 0 task_list/Gemfile.lock => Gemfile.lock | 0 task_list/Rakefile => Rakefile | 0 .../app => app}/assets/config/manifest.js | 0 {task_list/app => app}/assets/images/.keep | 0 .../assets/images/this_is_fine_dog.png | Bin .../assets/javascripts/application.js | 0 .../app => app}/assets/javascripts/cable.js | 0 .../assets/javascripts/channels/.keep | 0 .../assets/javascripts/tasks.coffee | 0 .../assets/stylesheets/application.css | 0 .../app => app}/assets/stylesheets/tasks.scss | 0 .../channels/application_cable/channel.rb | 0 .../channels/application_cable/connection.rb | 0 .../controllers/application_controller.rb | 0 .../app => app}/controllers/concerns/.keep | 0 .../controllers/tasks_controller.rb | 0 .../app => app}/helpers/application_helper.rb | 0 .../app => app}/helpers/tasks_helper.rb | 0 .../app => app}/jobs/application_job.rb | 0 .../app => app}/mailers/application_mailer.rb | 0 .../app => app}/models/application_record.rb | 0 {task_list/app => app}/models/concerns/.keep | 0 {task_list/app => app}/models/task.rb | 0 .../views/layouts/application.html.erb | 0 .../app => app}/views/layouts/mailer.html.erb | 0 .../app => app}/views/layouts/mailer.text.erb | 0 .../app => app}/views/tasks/_form.html.erb | 0 .../app => app}/views/tasks/create.html.erb | 0 .../app => app}/views/tasks/destroy.html.erb | 0 .../app => app}/views/tasks/edit.html.erb | 0 .../app => app}/views/tasks/index.html.erb | 0 .../views/tasks/mark_complete.html.erb | 0 .../app => app}/views/tasks/new.html.erb | 0 .../app => app}/views/tasks/show.html.erb | 0 .../app => app}/views/tasks/update.html.erb | 0 {task_list/bin => bin}/bundle | 0 {task_list/bin => bin}/rails | 0 {task_list/bin => bin}/rake | 0 {task_list/bin => bin}/setup | 0 {task_list/bin => bin}/spring | 0 {task_list/bin => bin}/update | 0 {task_list/bin => bin}/yarn | 0 task_list/config.ru => config.ru | 0 {task_list/config => config}/application.rb | 0 {task_list/config => config}/boot.rb | 0 {task_list/config => config}/cable.yml | 0 {task_list/config => config}/database.yml | 0 {task_list/config => config}/environment.rb | 0 .../environments/development.rb | 0 .../environments/production.rb | 0 .../config => config}/environments/test.rb | 0 .../application_controller_renderer.rb | 0 .../config => config}/initializers/assets.rb | 0 .../initializers/backtrace_silencers.rb | 0 .../initializers/cookies_serializer.rb | 0 .../initializers/filter_parameter_logging.rb | 0 .../initializers/inflections.rb | 0 .../initializers/mime_types.rb | 0 .../initializers/wrap_parameters.rb | 0 {task_list/config => config}/locales/en.yml | 0 {task_list/config => config}/puma.rb | 0 {task_list/config => config}/routes.rb | 0 {task_list/config => config}/secrets.yml | 0 {task_list/config => config}/spring.rb | 0 .../migrate/20170919214121_create_tasks.rb | 0 ...19214712_add_completion_status_to_tasks.rb | 0 ...20519_delete_completion_date_from_tasks.rb | 0 ...220939_change_description_to_text_field.rb | 0 ...hange_column_name_completed_to_complete.rb | 0 ...0922181106_add_completion_date_to_tasks.rb | 0 ...5705_delete_complete_boolean_from_tasks.rb | 0 ...e_complete_from_tasks_add_functionality.rb | 0 {task_list/db => db}/schema.rb | 0 {task_list/db => db}/seeds.rb | 0 {task_list/lib => lib}/assets/.keep | 0 {task_list/lib => lib}/tasks/.keep | 0 {task_list/log => log}/.keep | 0 log/development.log | 7926 +++++++++++++++++ task_list/package.json => package.json | 0 {task_list/public => public}/404.html | 0 {task_list/public => public}/422.html | 0 {task_list/public => public}/500.html | 0 .../apple-touch-icon-precomposed.png | 0 .../public => public}/apple-touch-icon.png | 0 {task_list/public => public}/favicon.ico | 0 {task_list/public => public}/robots.txt | 0 task_list/.gitignore | 19 - task_list/README.md | 24 - task_list/vendor/.keep | 0 .../application_system_test_case.rb | 0 {task_list/test => test}/controllers/.keep | 0 .../controllers/tasks_controller_test.rb | 0 {task_list/test => test}/fixtures/.keep | 0 {task_list/test => test}/fixtures/files/.keep | 0 {task_list/test => test}/fixtures/tasks.yml | 0 {task_list/test => test}/helpers/.keep | 0 {task_list/test => test}/integration/.keep | 0 {task_list/test => test}/mailers/.keep | 0 {task_list/test => test}/models/.keep | 0 {task_list/test => test}/models/task_test.rb | 0 {task_list/test => test}/system/.keep | 0 {task_list/test => test}/test_helper.rb | 0 {task_list/tmp => vendor}/.keep | 0 105 files changed, 7926 insertions(+), 43 deletions(-) create mode 100644 .DS_Store rename task_list/Gemfile => Gemfile (100%) rename task_list/Gemfile.lock => Gemfile.lock (100%) rename task_list/Rakefile => Rakefile (100%) rename {task_list/app => app}/assets/config/manifest.js (100%) rename {task_list/app => app}/assets/images/.keep (100%) rename {task_list/app => app}/assets/images/this_is_fine_dog.png (100%) rename {task_list/app => app}/assets/javascripts/application.js (100%) rename {task_list/app => app}/assets/javascripts/cable.js (100%) rename {task_list/app => app}/assets/javascripts/channels/.keep (100%) rename {task_list/app => app}/assets/javascripts/tasks.coffee (100%) rename {task_list/app => app}/assets/stylesheets/application.css (100%) rename {task_list/app => app}/assets/stylesheets/tasks.scss (100%) rename {task_list/app => app}/channels/application_cable/channel.rb (100%) rename {task_list/app => app}/channels/application_cable/connection.rb (100%) rename {task_list/app => app}/controllers/application_controller.rb (100%) rename {task_list/app => app}/controllers/concerns/.keep (100%) rename {task_list/app => app}/controllers/tasks_controller.rb (100%) rename {task_list/app => app}/helpers/application_helper.rb (100%) rename {task_list/app => app}/helpers/tasks_helper.rb (100%) rename {task_list/app => app}/jobs/application_job.rb (100%) rename {task_list/app => app}/mailers/application_mailer.rb (100%) rename {task_list/app => app}/models/application_record.rb (100%) rename {task_list/app => app}/models/concerns/.keep (100%) rename {task_list/app => app}/models/task.rb (100%) rename {task_list/app => app}/views/layouts/application.html.erb (100%) rename {task_list/app => app}/views/layouts/mailer.html.erb (100%) rename {task_list/app => app}/views/layouts/mailer.text.erb (100%) rename {task_list/app => app}/views/tasks/_form.html.erb (100%) rename {task_list/app => app}/views/tasks/create.html.erb (100%) rename {task_list/app => app}/views/tasks/destroy.html.erb (100%) rename {task_list/app => app}/views/tasks/edit.html.erb (100%) rename {task_list/app => app}/views/tasks/index.html.erb (100%) rename {task_list/app => app}/views/tasks/mark_complete.html.erb (100%) rename {task_list/app => app}/views/tasks/new.html.erb (100%) rename {task_list/app => app}/views/tasks/show.html.erb (100%) rename {task_list/app => app}/views/tasks/update.html.erb (100%) rename {task_list/bin => bin}/bundle (100%) rename {task_list/bin => bin}/rails (100%) rename {task_list/bin => bin}/rake (100%) rename {task_list/bin => bin}/setup (100%) rename {task_list/bin => bin}/spring (100%) rename {task_list/bin => bin}/update (100%) rename {task_list/bin => bin}/yarn (100%) rename task_list/config.ru => config.ru (100%) rename {task_list/config => config}/application.rb (100%) rename {task_list/config => config}/boot.rb (100%) rename {task_list/config => config}/cable.yml (100%) rename {task_list/config => config}/database.yml (100%) rename {task_list/config => config}/environment.rb (100%) rename {task_list/config => config}/environments/development.rb (100%) rename {task_list/config => config}/environments/production.rb (100%) rename {task_list/config => config}/environments/test.rb (100%) rename {task_list/config => config}/initializers/application_controller_renderer.rb (100%) rename {task_list/config => config}/initializers/assets.rb (100%) rename {task_list/config => config}/initializers/backtrace_silencers.rb (100%) rename {task_list/config => config}/initializers/cookies_serializer.rb (100%) rename {task_list/config => config}/initializers/filter_parameter_logging.rb (100%) rename {task_list/config => config}/initializers/inflections.rb (100%) rename {task_list/config => config}/initializers/mime_types.rb (100%) rename {task_list/config => config}/initializers/wrap_parameters.rb (100%) rename {task_list/config => config}/locales/en.yml (100%) rename {task_list/config => config}/puma.rb (100%) rename {task_list/config => config}/routes.rb (100%) rename {task_list/config => config}/secrets.yml (100%) rename {task_list/config => config}/spring.rb (100%) rename {task_list/db => db}/migrate/20170919214121_create_tasks.rb (100%) rename {task_list/db => db}/migrate/20170919214712_add_completion_status_to_tasks.rb (100%) rename {task_list/db => db}/migrate/20170919220519_delete_completion_date_from_tasks.rb (100%) rename {task_list/db => db}/migrate/20170919220939_change_description_to_text_field.rb (100%) rename {task_list/db => db}/migrate/20170920162012_change_column_name_completed_to_complete.rb (100%) rename {task_list/db => db}/migrate/20170922181106_add_completion_date_to_tasks.rb (100%) rename {task_list/db => db}/migrate/20170922185705_delete_complete_boolean_from_tasks.rb (100%) rename {task_list/db => db}/migrate/20170922194607_delete_complete_from_tasks_add_functionality.rb (100%) rename {task_list/db => db}/schema.rb (100%) rename {task_list/db => db}/seeds.rb (100%) rename {task_list/lib => lib}/assets/.keep (100%) rename {task_list/lib => lib}/tasks/.keep (100%) rename {task_list/log => log}/.keep (100%) create mode 100644 log/development.log rename task_list/package.json => package.json (100%) rename {task_list/public => public}/404.html (100%) rename {task_list/public => public}/422.html (100%) rename {task_list/public => public}/500.html (100%) rename {task_list/public => public}/apple-touch-icon-precomposed.png (100%) rename {task_list/public => public}/apple-touch-icon.png (100%) rename {task_list/public => public}/favicon.ico (100%) rename {task_list/public => public}/robots.txt (100%) delete mode 100644 task_list/.gitignore delete mode 100644 task_list/README.md delete mode 100644 task_list/vendor/.keep rename {task_list/test => test}/application_system_test_case.rb (100%) rename {task_list/test => test}/controllers/.keep (100%) rename {task_list/test => test}/controllers/tasks_controller_test.rb (100%) rename {task_list/test => test}/fixtures/.keep (100%) rename {task_list/test => test}/fixtures/files/.keep (100%) rename {task_list/test => test}/fixtures/tasks.yml (100%) rename {task_list/test => test}/helpers/.keep (100%) rename {task_list/test => test}/integration/.keep (100%) rename {task_list/test => test}/mailers/.keep (100%) rename {task_list/test => test}/models/.keep (100%) rename {task_list/test => test}/models/task_test.rb (100%) rename {task_list/test => test}/system/.keep (100%) rename {task_list/test => test}/test_helper.rb (100%) rename {task_list/tmp => vendor}/.keep (100%) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0"banana"} + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.6ms) +Completed 200 OK in 46ms (Views: 42.5ms) + + +Started GET "/tasks/banana/edit" for 127.0.0.1 at 2017-09-18 15:38:25 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"banana"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (0.7ms) +Completed 200 OK in 27ms (Views: 23.6ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 15:43:41 -0700 +Processing by TasksController#index as HTML +Completed 500 Internal Server Error in 2ms + + + +NameError (uninitialized constant TasksController::BOOKS): + +app/controllers/tasks_controller.rb:12:in `index' +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 15:43:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.6ms) +Completed 200 OK in 33ms (Views: 30.1ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 15:49:44 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.6ms) +Completed 200 OK in 28ms (Views: 24.9ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 15:52:52 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (0.5ms) +Completed 200 OK in 29ms (Views: 25.9ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:00:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 25ms (Views: 22.6ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:00:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.6ms) +Completed 200 OK in 34ms (Views: 31.7ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:07:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 92ms (Views: 90.0ms) + + +Started GET "/images/this_is_fine_dog.png" for 127.0.0.1 at 2017-09-18 16:07:24 -0700 + +ActionController::RoutingError (No route matches [GET] "/images/this_is_fine_dog.png"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:07:27 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 24ms (Views: 20.5ms) + + +Started GET "/images/this_is_fine_dog.png" for 127.0.0.1 at 2017-09-18 16:07:27 -0700 + +ActionController::RoutingError (No route matches [GET] "/images/this_is_fine_dog.png"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:09:21 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.1ms) +Completed 200 OK in 53ms (Views: 50.3ms) + + + +ActionController::RoutingError (No route matches [GET] "/assets/app/assets/images/this_is_fine_dog.png"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:11:in `block in call' +activesupport (5.1.4) lib/active_support/logger_silence.rb:20:in `silence' +activesupport (5.1.4) lib/active_support/logger.rb:63:in `block (3 levels) in broadcast' +activesupport (5.1.4) lib/active_support/logger_silence.rb:20:in `silence' +activesupport (5.1.4) lib/active_support/logger.rb:61:in `block (2 levels) in broadcast' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:11:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:10:58 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.4ms) +Completed 200 OK in 50ms (Views: 47.6ms) + + + +ActionController::RoutingError (No route matches [GET] "/assets/app/assets/images/this_is_fine_dog.png"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:11:in `block in call' +activesupport (5.1.4) lib/active_support/logger_silence.rb:20:in `silence' +activesupport (5.1.4) lib/active_support/logger.rb:63:in `block (3 levels) in broadcast' +activesupport (5.1.4) lib/active_support/logger_silence.rb:20:in `silence' +activesupport (5.1.4) lib/active_support/logger.rb:61:in `block (2 levels) in broadcast' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:11:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:12:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.5ms) +Completed 200 OK in 49ms (Views: 46.5ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:13:03 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.5ms) +Completed 200 OK in 54ms (Views: 51.8ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:13:40 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 79ms (Views: 74.4ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:14:49 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.7ms) +Completed 200 OK in 73ms (Views: 69.9ms) + + +Started GET "/tasks/1/edit" for 127.0.0.1 at 2017-09-18 16:15:54 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (0.5ms) +Completed 200 OK in 72ms (Views: 65.0ms) + + +Started GET "/tasks.2" for 127.0.0.1 at 2017-09-18 16:15:58 -0700 +Processing by TasksController#index as + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.3ms) +Completed 200 OK in 61ms (Views: 39.5ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:19:54 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 25ms (Views: 22.2ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:26:43 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 57ms (Views: 54.3ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:33:31 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.6ms) +Completed 200 OK in 77ms (Views: 73.5ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:33:53 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.5ms) +Completed 200 OK in 52ms (Views: 49.3ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:37:39 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 200 OK in 81ms (Views: 78.4ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:40:08 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.5ms) +Completed 200 OK in 62ms (Views: 59.3ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:40:26 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.5ms) +Completed 200 OK in 49ms (Views: 46.5ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:41:13 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.6ms) +Completed 200 OK in 63ms (Views: 59.6ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:41:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (4.6ms) +Completed 200 OK in 59ms (Views: 53.8ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:42:37 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 35ms (Views: 32.0ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:46:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.8ms) +Completed 200 OK in 37ms (Views: 34.0ms) + + +Started POST "/tasks" for 127.0.0.1 at 2017-09-18 16:46:25 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"pdgqQVxHDNWlsp1qM57Tpdkq7bB+kw7g//WGFixO3OOqJi+Uk29aaRQUqqd9r7aj9N7dBKUP4P3TgiXQ5WiYvw=="} + Rendering tasks/create.html.erb within layouts/application + Rendered tasks/create.html.erb within layouts/application (0.4ms) +Completed 200 OK in 26ms (Views: 22.2ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:47:53 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (4.0ms) +Completed 200 OK in 37ms (Views: 34.0ms) + + +Started POST "/tasks" for 127.0.0.1 at 2017-09-18 16:47:55 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"qzB2XGstMKN1ZfSAg8+G9YIzcm+Ays9V4P4OKjGRmrikznOJpAVmH8TDw03N/uPzr8dC21tWIUjMia3s+Lfe5A=="} + Rendering tasks/create.html.erb within layouts/application + Rendered tasks/create.html.erb within layouts/application (0.5ms) +Completed 200 OK in 28ms (Views: 22.6ms) + + +Started POST "/tasks" for 127.0.0.1 at 2017-09-18 16:47:59 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"qzB2XGstMKN1ZfSAg8+G9YIzcm+Ays9V4P4OKjGRmrikznOJpAVmH8TDw03N/uPzr8dC21tWIUjMia3s+Lfe5A=="} + Rendering tasks/create.html.erb within layouts/application + Rendered tasks/create.html.erb within layouts/application (0.4ms) +Completed 200 OK in 28ms (Views: 23.8ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:49:10 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (3.2ms) +Completed 200 OK in 75ms (Views: 71.9ms) + + +Started POST "/tasks" for 127.0.0.1 at 2017-09-18 16:49:14 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"Qe0nmGT3t1Hn9g01IG8ka6jIuqWLO1+if981oQkfokROEyJNq9/h7VZQOvhuXkFthTyKEVCnsb9TqJZnwDnmGA=="} + Rendering tasks/create.html.erb within layouts/application + Rendered tasks/create.html.erb within layouts/application (0.4ms) +Completed 200 OK in 31ms (Views: 26.4ms) + + +Started POST "/tasks" for 127.0.0.1 at 2017-09-18 16:49:20 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"Qe0nmGT3t1Hn9g01IG8ka6jIuqWLO1+if981oQkfokROEyJNq9/h7VZQOvhuXkFthTyKEVCnsb9TqJZnwDnmGA=="} + Rendering tasks/create.html.erb within layouts/application + Rendered tasks/create.html.erb within layouts/application (0.6ms) +Completed 200 OK in 29ms (Views: 25.4ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-18 16:49:46 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.6ms) +Completed 200 OK in 29ms (Views: 26.1ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-18 16:49:48 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.4ms) +Completed 200 OK in 28ms (Views: 24.1ms) + + +Started POST "/tasks" for 127.0.0.1 at 2017-09-18 16:49:51 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"mQ2+ZHWB1YB+9pH2dcAl7yLYqLUhNqklWxVAmiNSsk2W87uxuqmDPM9Qpjs78UDpDyyYAfqqRzh3YuNc6nT2EQ=="} + Rendering tasks/create.html.erb within layouts/application + Rendered tasks/create.html.erb within layouts/application (0.4ms) +Completed 200 OK in 29ms (Views: 24.9ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-18 16:50:49 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 62ms (Views: 59.1ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-18 16:51:33 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.5ms) +Completed 200 OK in 69ms (Views: 65.9ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-18 16:52:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.5ms) +Completed 200 OK in 59ms (Views: 55.8ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-18 16:52:42 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 60ms (Views: 57.1ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-18 16:52:57 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.0ms) +Completed 200 OK in 59ms (Views: 55.9ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-18 16:53:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.1ms) +Completed 200 OK in 59ms (Views: 56.0ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-18 16:55:00 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (3.4ms) +Completed 200 OK in 62ms (Views: 58.9ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-18 16:55:22 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.2ms) +Completed 200 OK in 60ms (Views: 56.6ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-18 16:59:52 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.7ms) +Completed 200 OK in 70ms (Views: 66.5ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 09:19:57 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (6.3ms) +Completed 200 OK in 695ms (Views: 374.9ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 09:20:40 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.1ms) +Completed 200 OK in 65ms (Views: 62.5ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 09:31:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (3.2ms) +Completed 200 OK in 83ms (Views: 80.3ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 10:08:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (4.0ms) +Completed 200 OK in 656ms (Views: 311.9ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 10:09:11 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (3.0ms) +Completed 200 OK in 37ms (Views: 33.7ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 10:10:01 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 200 OK in 84ms (Views: 81.2ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 10:11:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.4ms) +Completed 200 OK in 58ms (Views: 55.7ms) + + +  (6.3ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +  (0.3ms) SELECT pg_try_advisory_lock(7702170574030116555) +  (0.7ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Migrating to CreateTasks (20170919214121) +  (0.3ms) SELECT pg_advisory_unlock(7702170574030116555) +  (0.3ms) SELECT pg_try_advisory_lock(7702170574030116555) +  (0.6ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Migrating to CreateTasks (20170919214121) +  (0.2ms) BEGIN +  (29.1ms) CREATE TABLE "tasks" ("id" bigserial primary key, "name" character varying, "description" character varying, "due_date" date, "completion_date" date, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) + SQL (0.9ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170919214121"]] +  (1.3ms) COMMIT + ActiveRecord::InternalMetadata Load (0.6ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]] +  (0.2ms) BEGIN +  (0.2ms) COMMIT +  (0.3ms) SELECT pg_advisory_unlock(7702170574030116555) +  (0.3ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +  (1.2ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +  (0.6ms) BEGIN + SQL (1.7ms) INSERT INTO "tasks" ("name", "description", "due_date", "completion_date", "created_at", "updated_at") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["name", "lightning talk"], ["description", "5-min presentation on kundalini yoga"], ["due_date", "2017-09-19"], ["completion_date", "2017-09-18"], ["created_at", "2017-09-19 21:46:06.261005"], ["updated_at", "2017-09-19 21:46:06.261005"]] +  (2.1ms) COMMIT + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] +  (1.0ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +  (0.3ms) SELECT pg_try_advisory_lock(7702170574030116555) +  (0.6ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Migrating to AddCompletionStatusToTasks (20170919214712) +  (0.2ms) BEGIN +  (1.1ms) ALTER TABLE "tasks" ADD "completed" boolean + SQL (0.4ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170919214712"]] +  (6.7ms) COMMIT + ActiveRecord::InternalMetadata Load (0.4ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]] +  (0.2ms) BEGIN +  (0.1ms) COMMIT +  (0.3ms) SELECT pg_advisory_unlock(7702170574030116555) +  (0.3ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +  (0.8ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] +  (0.3ms) BEGIN + SQL (0.6ms) UPDATE "tasks" SET "updated_at" = $1, "completed" = $2 WHERE "tasks"."id" = $3 [["updated_at", "2017-09-19 21:50:03.661136"], ["completed", "t"], ["id", 1]] +  (2.4ms) COMMIT + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] +  (1.0ms) BEGIN + SQL (1.3ms) INSERT INTO "tasks" ("name", "description", "due_date", "created_at", "updated_at", "completed") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["name", "wash car"], ["description", "get car washed and waxed, preferably on a day it's not raining"], ["due_date", "2017-09-30"], ["created_at", "2017-09-19 21:57:58.750775"], ["updated_at", "2017-09-19 21:57:58.750775"], ["completed", "f"]] +  (2.7ms) COMMIT + Task Load (0.8ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] +  (0.2ms) BEGIN + SQL (0.5ms) INSERT INTO "tasks" ("name", "description", "due_date", "created_at", "updated_at", "completed") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["name", "laundry"], ["description", "Either buy more workout clothes or wash the ones you have"], ["due_date", "2019-09-23"], ["created_at", "2017-09-19 21:59:29.752780"], ["updated_at", "2017-09-19 21:59:29.752780"], ["completed", "f"]] +  (6.6ms) COMMIT + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:00:57 -0700 +  (0.7ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (32.3ms) +Completed 500 Internal Server Error in 59ms (ActiveRecord: 7.1ms) + + + +ActionView::Template::Error (undefined method `capitalize' for nil:NilClass): + 18: <% if task[:complete] %> + 19: <%= task[:task_name].capitalize %> + 20: <% else %> + 21: <%= task[:task_name].capitalize %> + 22: <% end %> + 23:
    + 24:
  • + +app/views/tasks/index.html.erb:21:in `block in _app_views_tasks_index_html_erb__1854448483857350745_70354469713840' +app/views/tasks/index.html.erb:16:in `_app_views_tasks_index_html_erb__1854448483857350745_70354469713840' +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:02:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.8ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (23.3ms) +Completed 200 OK in 344ms (Views: 327.1ms | ActiveRecord: 13.5ms) + + + Task Load (0.8ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] +  (0.2ms) BEGIN + SQL (0.7ms) INSERT INTO "tasks" ("name", "description", "due_date", "created_at", "updated_at", "completed") VALUES ($1, $2, $3, $4, $5, $6) RETURNING "id" [["name", "buy groceries"], ["description", "You want to eat, don't you?"], ["due_date", "2017-09-21"], ["created_at", "2017-09-19 22:03:18.907138"], ["updated_at", "2017-09-19 22:03:18.907138"], ["completed", "f"]] +  (2.5ms) COMMIT + Task Load (0.7ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:03:48 -0700 +  (0.7ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.9ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (19.5ms) +Completed 200 OK in 225ms (Views: 201.9ms | ActiveRecord: 5.8ms) + + +  (0.3ms) SELECT pg_try_advisory_lock(7702170574030116555) +  (0.7ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Migrating to DeleteCompletionDateFromTasks (20170919220519) +  (0.3ms) BEGIN +  (25.1ms) ALTER TABLE "tasks" DROP "completion_date" + SQL (1.3ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170919220519"]] +  (1.4ms) COMMIT + ActiveRecord::InternalMetadata Load (0.4ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]] +  (0.2ms) BEGIN +  (0.1ms) COMMIT +  (0.3ms) SELECT pg_advisory_unlock(7702170574030116555) +  (0.2ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +  (0.6ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] +  (0.6ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +  (0.3ms) SELECT pg_try_advisory_lock(7702170574030116555) +  (0.6ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Migrating to ChangeDescriptionToTextField (20170919220939) +  (0.2ms) BEGIN +  (0.8ms) ALTER TABLE "tasks" DROP "description" +  (0.3ms) ALTER TABLE "tasks" ADD "description" text + SQL (0.4ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170919220939"]] +  (13.1ms) COMMIT + ActiveRecord::InternalMetadata Load (0.4ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]] +  (0.2ms) BEGIN +  (0.1ms) COMMIT +  (0.3ms) SELECT pg_advisory_unlock(7702170574030116555) +  (0.3ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC + Task Load (0.7ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] +  (0.3ms) BEGIN + SQL (0.8ms) UPDATE "tasks" SET "updated_at" = $1, "description" = $2 WHERE "tasks"."id" = $3 [["updated_at", "2017-09-19 22:11:41.471481"], ["description", "5-min presentation on kundalini yoga"], ["id", 1]] +  (0.7ms) COMMIT + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 2], ["LIMIT", 1]] +  (0.3ms) BEGIN + SQL (0.5ms) UPDATE "tasks" SET "updated_at" = $1, "description" = $2 WHERE "tasks"."id" = $3 [["updated_at", "2017-09-19 22:12:17.079526"], ["description", "Get car washed and waxed, preferably on a day it's not raining"], ["id", 2]] +  (0.8ms) COMMIT + Task Load (0.7ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 3], ["LIMIT", 1]] +  (0.3ms) BEGIN + SQL (0.5ms) UPDATE "tasks" SET "updated_at" = $1, "description" = $2 WHERE "tasks"."id" = $3 [["updated_at", "2017-09-19 22:12:35.639136"], ["description", "Either buy new workout clothes or wash the ones you have"], ["id", 3]] +  (1.8ms) COMMIT + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] +  (0.3ms) BEGIN + SQL (0.5ms) UPDATE "tasks" SET "updated_at" = $1, "description" = $2 WHERE "tasks"."id" = $3 [["updated_at", "2017-09-19 22:12:50.934421"], ["description", "You want to eat, don't you?"], ["id", 4]] +  (1.8ms) COMMIT + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:13:59 -0700 +  (7.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.9ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (23.2ms) +Completed 200 OK in 320ms (Views: 295.6ms | ActiveRecord: 5.6ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:27:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.3ms) +Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:23: syntax error, unexpected keyword_else, expecting keyword_end +'.freeze; else + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:28: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' + Complete' : 'Mark Complete' );@output_buffer.safe_append=' + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:30: syntax error, unexpected keyword_else, expecting ')' +'.freeze; else + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:32: syntax error, unexpected keyword_end, expecting ')' + '.freeze; end ;@output_buffer.safe_append=' + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:43: syntax error, unexpected keyword_end, expecting ')' +'.freeze; end + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:49: syntax error, unexpected keyword_ensure, expecting ')' + ensure + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:51: syntax error, unexpected keyword_end, expecting ')' + end + ^): + +app/views/tasks/index.html.erb:23: syntax error, unexpected keyword_else, expecting keyword_end +app/views/tasks/index.html.erb:28: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' +app/views/tasks/index.html.erb:30: syntax error, unexpected keyword_else, expecting ')' +app/views/tasks/index.html.erb:32: syntax error, unexpected keyword_end, expecting ')' +app/views/tasks/index.html.erb:43: syntax error, unexpected keyword_end, expecting ')' +app/views/tasks/index.html.erb:49: syntax error, unexpected keyword_ensure, expecting ')' +app/views/tasks/index.html.erb:51: syntax error, unexpected keyword_end, expecting ')' +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:30:09 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.7ms) +Completed 500 Internal Server Error in 11ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:23: syntax error, unexpected keyword_else, expecting keyword_end +'.freeze; else + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:28: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' +r.append=( if task.completed );@output_buffer.safe_append=' + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:30: syntax error, unexpected keyword_else, expecting ')' +'.freeze; else + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:32: syntax error, unexpected keyword_end, expecting ')' +'.freeze; end + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:43: syntax error, unexpected keyword_end, expecting ')' +'.freeze; end + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:49: syntax error, unexpected keyword_ensure, expecting ')' + ensure + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:51: syntax error, unexpected keyword_end, expecting ')' + end + ^): + +app/views/tasks/index.html.erb:23: syntax error, unexpected keyword_else, expecting keyword_end +app/views/tasks/index.html.erb:28: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' +app/views/tasks/index.html.erb:30: syntax error, unexpected keyword_else, expecting ')' +app/views/tasks/index.html.erb:32: syntax error, unexpected keyword_end, expecting ')' +app/views/tasks/index.html.erb:43: syntax error, unexpected keyword_end, expecting ')' +app/views/tasks/index.html.erb:49: syntax error, unexpected keyword_ensure, expecting ')' +app/views/tasks/index.html.erb:51: syntax error, unexpected keyword_end, expecting ')' +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:33:27 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.8ms) +Completed 500 Internal Server Error in 12ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:23: syntax error, unexpected '=', expecting keyword_end + =begin ;@output_buffer.safe_app + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:27: syntax error, unexpected '=', expecting keyword_end + =end ;@output_buffer.safe_appen + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:30: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' + Complete' : 'Mark Complete' );@output_buffer.safe_append=' + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:32: syntax error, unexpected keyword_else, expecting ')' +'.freeze; else + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:34: syntax error, unexpected keyword_end, expecting ')' + '.freeze; end ;@output_buffer.safe_append=' + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:45: syntax error, unexpected keyword_end, expecting ')' +'.freeze; end + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:51: syntax error, unexpected keyword_ensure, expecting ')' + ensure + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:53: syntax error, unexpected keyword_end, expecting ')' + end + ^): + +app/views/tasks/index.html.erb:23: syntax error, unexpected '=', expecting keyword_end +app/views/tasks/index.html.erb:27: syntax error, unexpected '=', expecting keyword_end +app/views/tasks/index.html.erb:30: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' +app/views/tasks/index.html.erb:32: syntax error, unexpected keyword_else, expecting ')' +app/views/tasks/index.html.erb:34: syntax error, unexpected keyword_end, expecting ')' +app/views/tasks/index.html.erb:45: syntax error, unexpected keyword_end, expecting ')' +app/views/tasks/index.html.erb:51: syntax error, unexpected keyword_ensure, expecting ')' +app/views/tasks/index.html.erb:53: syntax error, unexpected keyword_end, expecting ')' +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:34:48 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.1ms) +Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:28: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' + Complete' : 'Mark Complete' );@output_buffer.safe_append=' + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:43: syntax error, unexpected keyword_end, expecting ')' +'.freeze; end + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:49: syntax error, unexpected keyword_ensure, expecting ')' + ensure + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:51: syntax error, unexpected keyword_end, expecting ')' + end + ^): + +app/views/tasks/index.html.erb:28: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' +app/views/tasks/index.html.erb:43: syntax error, unexpected keyword_end, expecting ')' +app/views/tasks/index.html.erb:49: syntax error, unexpected keyword_ensure, expecting ')' +app/views/tasks/index.html.erb:51: syntax error, unexpected keyword_end, expecting ')' +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:35:22 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.1ms) +Completed 500 Internal Server Error in 9ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:28: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' +r.append=( if task.completed );@output_buffer.safe_append=' + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:30: syntax error, unexpected keyword_else, expecting ')' +'.freeze; else + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:32: syntax error, unexpected keyword_end, expecting ')' +'.freeze; end + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:43: syntax error, unexpected keyword_end, expecting ')' +'.freeze; end + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:49: syntax error, unexpected keyword_ensure, expecting ')' + ensure + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:51: syntax error, unexpected keyword_end, expecting ')' + end + ^): + +app/views/tasks/index.html.erb:28: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' +app/views/tasks/index.html.erb:30: syntax error, unexpected keyword_else, expecting ')' +app/views/tasks/index.html.erb:32: syntax error, unexpected keyword_end, expecting ')' +app/views/tasks/index.html.erb:43: syntax error, unexpected keyword_end, expecting ')' +app/views/tasks/index.html.erb:49: syntax error, unexpected keyword_ensure, expecting ')' +app/views/tasks/index.html.erb:51: syntax error, unexpected keyword_end, expecting ')' +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:35:52 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.9ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (20.9ms) +Completed 200 OK in 52ms (Views: 37.9ms | ActiveRecord: 11.4ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:36:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.9ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.5ms) +Completed 200 OK in 96ms (Views: 92.2ms | ActiveRecord: 0.9ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:36:30 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.6ms) +Completed 200 OK in 58ms (Views: 55.0ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:36:39 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.0ms) +Completed 200 OK in 74ms (Views: 71.0ms | ActiveRecord: 0.6ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:39:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.2ms) +Completed 200 OK in 74ms (Views: 70.7ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:39:41 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.7ms) +Completed 200 OK in 67ms (Views: 63.5ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:39:49 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.8ms) +Completed 200 OK in 68ms (Views: 65.5ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:39:57 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.0ms) +Completed 200 OK in 64ms (Views: 61.0ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:45:10 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.0ms) +Completed 200 OK in 28ms (Views: 24.5ms | ActiveRecord: 0.6ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:45:21 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.1ms) +Completed 200 OK in 72ms (Views: 68.3ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:45:50 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.3ms) +Completed 200 OK in 27ms (Views: 23.6ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:46:50 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.5ms) +Completed 500 Internal Server Error in 9ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:35: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' +fer.append=( ' | ' + link_to 'Edit', edit_task_path(task.id) + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:35: syntax error, unexpected ',', expecting ')' +pend=( ' | ' + link_to 'Edit', edit_task_path(task.id) + ' | + ^): + +app/views/tasks/index.html.erb:35: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' +app/views/tasks/index.html.erb:35: syntax error, unexpected ',', expecting ')' +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:47:33 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.1ms) +Completed 500 Internal Server Error in 9ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:35: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' +er.append=( " | " << link_to 'Edit', edit_task_path(task.id) + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:35: syntax error, unexpected ',', expecting ')' +end=( " | " << link_to 'Edit', edit_task_path(task.id) << " + ^): + +app/views/tasks/index.html.erb:35: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' +app/views/tasks/index.html.erb:35: syntax error, unexpected ',', expecting ')' +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:52:36 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.7ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (14.4ms) +Completed 200 OK in 62ms (Views: 57.9ms | ActiveRecord: 0.7ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:52:59 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.6ms) +Completed 200 OK in 58ms (Views: 54.6ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:54:06 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 38ms (Views: 34.6ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:56:06 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.5ms) +Completed 200 OK in 34ms (Views: 30.6ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:56:08 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (10.4ms) +Completed 200 OK in 49ms (Views: 43.5ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:56:10 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (2.0ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (11.8ms) +Completed 200 OK in 63ms (Views: 56.9ms | ActiveRecord: 2.0ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:56:22 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.3ms) +Completed 200 OK in 26ms (Views: 22.8ms | ActiveRecord: 0.6ms) + + +Started POST "/tasks" for 127.0.0.1 at 2017-09-19 15:56:23 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"XDhYfFYuztVc8+2VZIfD1Le2+QYjw0CRyPUKzzxAYbFTxl2pmQaYae1V2lgqtqbSmkLJsvhfrozkgqkJ9WYl7Q=="} + Rendering tasks/create.html.erb within layouts/application + Rendered tasks/create.html.erb within layouts/application (0.4ms) +Completed 200 OK in 24ms (Views: 20.5ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:56:25 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.7ms) +Completed 200 OK in 26ms (Views: 23.5ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:56:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.2ms) +Completed 200 OK in 27ms (Views: 22.8ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:56:52 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.8ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (8.1ms) +Completed 200 OK in 48ms (Views: 44.0ms | ActiveRecord: 0.8ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:56:54 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.1ms) +Completed 200 OK in 51ms (Views: 46.9ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/2/edit" for 127.0.0.1 at 2017-09-19 15:57:44 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"2"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (0.5ms) +Completed 200 OK in 32ms (Views: 28.4ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 15:58:55 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (11.5ms) +Completed 200 OK in 43ms (Views: 35.1ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 16:00:42 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.9ms) +Completed 500 Internal Server Error in 14ms (ActiveRecord: 0.3ms) + + + +ActionView::Template::Error (No route matches {:action=>"edit", :controller=>"tasks"}, missing required keys: [:id]): + 16: <% @tasks.each do |task| %> + 17: <% @status = task.completed ? 'complete' : 'incomplete' %> + 18:
  • > + 19: <%= link_to(task.name.capitalize, edit_task_path) %> + 20:
  • + 21:
      + 22:
    • + +app/views/tasks/index.html.erb:19:in `block in _app_views_tasks_index_html_erb___919217846251910777_70146342911880' +app/views/tasks/index.html.erb:16:in `_app_views_tasks_index_html_erb___919217846251910777_70146342911880' +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 16:00:59 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.6ms) +Completed 200 OK in 33ms (Views: 29.9ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks/4/edit" for 127.0.0.1 at 2017-09-19 16:01:03 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"4"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (0.7ms) +Completed 200 OK in 38ms (Views: 33.7ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/1/edit" for 127.0.0.1 at 2017-09-19 16:01:07 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (1.2ms) +Completed 200 OK in 41ms (Views: 34.3ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/3/edit" for 127.0.0.1 at 2017-09-19 16:01:10 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"3"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (0.7ms) +Completed 200 OK in 41ms (Views: 33.9ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 16:04:54 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.6ms) +Completed 500 Internal Server Error in 13ms (ActiveRecord: 0.3ms) + + + +ActionView::Template::Error (No route matches {:action=>"mark_complete", :controller=>"tasks"}, missing required keys: [:id]): + 21:
        + 22:
      • + 23: <% @toggle = task.completed ? 'Unmark Complete' : 'Mark Complete' %> + 24: <%= link_to(@toggle, complete_task_path) %> + 25: + 26:
      • + 27:
      • + +app/views/tasks/index.html.erb:24:in `block in _app_views_tasks_index_html_erb___919217846251910777_70146357771940' +app/views/tasks/index.html.erb:16:in `_app_views_tasks_index_html_erb___919217846251910777_70146357771940' +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 16:05:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.5ms) +Completed 200 OK in 33ms (Views: 30.9ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/1/mark_complete" for 127.0.0.1 at 2017-09-19 16:05:18 -0700 + +ActionController::RoutingError (No route matches [GET] "/tasks/1/mark_complete"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 16:05:44 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.7ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (22.6ms) +Completed 200 OK in 58ms (Views: 54.9ms | ActiveRecord: 0.7ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-19 16:08:48 -0700 +  (8.2ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (18.9ms) +Completed 200 OK in 302ms (Views: 279.5ms | ActiveRecord: 5.5ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:08:52 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (19.4ms) +Completed 200 OK in 44ms (Views: 33.8ms | ActiveRecord: 7.7ms) + + +Started GET "/tasks/1/mark_complete" for 127.0.0.1 at 2017-09-19 16:08:55 -0700 + +ActionController::RoutingError (No route matches [GET] "/tasks/1/mark_complete"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/" for 127.0.0.1 at 2017-09-19 16:09:06 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.1ms) +Completed 200 OK in 36ms (Views: 31.9ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/4/mark_complete" for 127.0.0.1 at 2017-09-19 16:09:07 -0700 + +ActionController::RoutingError (No route matches [GET] "/tasks/4/mark_complete"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/" for 127.0.0.1 at 2017-09-19 16:10:00 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (316.4ms) +Completed 500 Internal Server Error in 330ms (ActiveRecord: 0.4ms) + + + +ActionView::Template::Error (undefined local variable or method `patch' for #<#:0x007fda432e1d30> +Did you mean? catch): + 21:
          + 22:
        • + 23: <% @toggle = task.completed ? 'Unmark Complete' : 'Mark Complete' %> + 24: <%= link_to(@toggle, complete_task_path(task.id), method: patch) %> + 25: + 26:
        • + 27:
        • + +app/views/tasks/index.html.erb:24:in `block in _app_views_tasks_index_html_erb___870717615378159431_70287703349840' +app/views/tasks/index.html.erb:16:in `_app_views_tasks_index_html_erb___870717615378159431_70287703349840' +Started GET "/" for 127.0.0.1 at 2017-09-19 16:11:03 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.7ms) +Completed 200 OK in 25ms (Views: 22.0ms | ActiveRecord: 0.6ms) + + +Started PATCH "/tasks/1/mark_complete" for 127.0.0.1 at 2017-09-19 16:11:05 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"OsDJXqOrsHucG1lKJEgy+q0wF2RBfzKONBOhs5NwVWs1PsyLbIPmxy29bodqeVf8gMQn0Jrj3JMYZAJ1WlYRNw==", "id"=>"1"} + Rendering tasks/mark_complete.html.erb within layouts/application + Rendered tasks/mark_complete.html.erb within layouts/application (0.4ms) +Completed 200 OK in 24ms (Views: 20.9ms | ActiveRecord: 0.0ms) + + +Started PATCH "/tasks/4/mark_complete" for 127.0.0.1 at 2017-09-19 16:11:10 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"OsDJXqOrsHucG1lKJEgy+q0wF2RBfzKONBOhs5NwVWs1PsyLbIPmxy29bodqeVf8gMQn0Jrj3JMYZAJ1WlYRNw==", "id"=>"4"} + Rendering tasks/mark_complete.html.erb within layouts/application + Rendered tasks/mark_complete.html.erb within layouts/application (0.4ms) +Completed 200 OK in 25ms (Views: 21.8ms | ActiveRecord: 0.0ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:14:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 78ms (Views: 74.9ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:15:18 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.2ms) +Completed 200 OK in 66ms (Views: 61.9ms | ActiveRecord: 1.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:15:45 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.4ms) +Completed 200 OK in 65ms (Views: 61.8ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/1/edit" for 127.0.0.1 at 2017-09-19 16:15:57 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (0.6ms) +Completed 200 OK in 49ms (Views: 39.4ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/1/edit" for 127.0.0.1 at 2017-09-19 16:16:50 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (0.5ms) +Completed 200 OK in 59ms (Views: 56.4ms | ActiveRecord: 0.0ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:16:51 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (9.2ms) +Completed 200 OK in 53ms (Views: 47.5ms | ActiveRecord: 0.6ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:17:04 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.7ms) +Completed 200 OK in 102ms (Views: 98.2ms | ActiveRecord: 0.6ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:17:26 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.6ms) +Completed 200 OK in 66ms (Views: 63.1ms | ActiveRecord: 0.5ms) + + +Started PATCH "/tasks/1/mark_complete" for 127.0.0.1 at 2017-09-19 16:18:09 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"RwuZvGDx3md4n1wO5PN6naLsvuooabtMrHQgMGzmTJtI9Zxpr9mI28k5a8Oqwh+bjxiOXvP1VVGAA4P2pcAIxw==", "id"=>"1"} + Rendering tasks/mark_complete.html.erb within layouts/application + Rendered tasks/mark_complete.html.erb within layouts/application (0.4ms) +Completed 200 OK in 26ms (Views: 23.1ms | ActiveRecord: 0.0ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:24:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.0ms) +Completed 500 Internal Server Error in 12ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:24: syntax error, unexpected ',', expecting keyword_end + complete_task_path(task.id), method: :patch + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:42: syntax error, unexpected keyword_ensure, expecting end-of-input + ensure + ^): + +app/views/tasks/index.html.erb:24: syntax error, unexpected ',', expecting keyword_end +app/views/tasks/index.html.erb:42: syntax error, unexpected keyword_ensure, expecting end-of-input +Started GET "/" for 127.0.0.1 at 2017-09-19 16:24:45 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (13.1ms) +Completed 200 OK in 41ms (Views: 38.3ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:24:50 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.2ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (9.4ms) +Completed 200 OK in 41ms (Views: 35.4ms | ActiveRecord: 1.2ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:24:52 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (2.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (8.2ms) +Completed 200 OK in 51ms (Views: 44.1ms | ActiveRecord: 2.5ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:24:54 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (16.4ms) +Completed 200 OK in 57ms (Views: 50.1ms | ActiveRecord: 0.6ms) + + +Started GET "/tasks/1/edit" for 127.0.0.1 at 2017-09-19 16:24:58 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (0.6ms) +Completed 200 OK in 36ms (Views: 31.7ms | ActiveRecord: 0.0ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:25:01 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.0ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (18.7ms) +Completed 200 OK in 51ms (Views: 46.0ms | ActiveRecord: 1.0ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:30:11 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (11.0ms) +Completed 200 OK in 46ms (Views: 40.8ms | ActiveRecord: 0.4ms) + + +Started PATCH "/tasks/1/mark_complete" for 127.0.0.1 at 2017-09-19 16:30:15 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"9tj41n9ZocmqC2PvP1dGxRYtQOn2yvpShlvpLhIT9Sz5Jv0DsHH3dRutVCJxZiPDO9lwXS1WFE+qLEro2zWxcA==", "id"=>"1"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] +Completed 500 Internal Server Error in 20ms (ActiveRecord: 0.6ms) + + + +ArgumentError (wrong number of arguments (given 0, expected 1)): + +app/controllers/tasks_controller.rb:43:in `mark_complete' +Started PATCH "/tasks/1/mark_complete" for 127.0.0.1 at 2017-09-19 16:31:20 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"9tj41n9ZocmqC2PvP1dGxRYtQOn2yvpShlvpLhIT9Sz5Jv0DsHH3dRutVCJxZiPDO9lwXS1WFE+qLEro2zWxcA==", "id"=>"1"} + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] +  (0.2ms) BEGIN +  (0.3ms) ROLLBACK +Completed 500 Internal Server Error in 19ms (ActiveRecord: 5.9ms) + + + +ArgumentError (When assigning attributes, you must pass a hash as an argument.): + +app/controllers/tasks_controller.rb:44:in `mark_complete' +Started PATCH "/tasks/1/mark_complete" for 127.0.0.1 at 2017-09-19 16:32:18 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"9tj41n9ZocmqC2PvP1dGxRYtQOn2yvpShlvpLhIT9Sz5Jv0DsHH3dRutVCJxZiPDO9lwXS1WFE+qLEro2zWxcA==", "id"=>"1"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] +  (0.2ms) BEGIN + SQL (0.6ms) UPDATE "tasks" SET "completed" = $1, "updated_at" = $2 WHERE "tasks"."id" = $3 [["completed", "f"], ["updated_at", "2017-09-19 23:32:18.363543"], ["id", 1]] +  (11.7ms) COMMIT +Redirected to http://localhost:3000/ +Completed 302 Found in 28ms (ActiveRecord: 12.8ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:32:18 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.0ms) +Completed 200 OK in 35ms (Views: 31.3ms | ActiveRecord: 0.5ms) + + +Started PATCH "/tasks/1/mark_complete" for 127.0.0.1 at 2017-09-19 16:32:20 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"lsMbj8YcOxJBMM20qr0SNy3Jy9pc5pp676fmWHk1/mGZPR5aCTRtrvCW+nnkjHcxAD37bod6dGfD0EWesBO6PQ==", "id"=>"1"} + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] +  (0.2ms) BEGIN + SQL (0.5ms) UPDATE "tasks" SET "completed" = $1, "updated_at" = $2 WHERE "tasks"."id" = $3 [["completed", "t"], ["updated_at", "2017-09-19 23:32:20.225344"], ["id", 1]] +  (1.9ms) COMMIT +Redirected to http://localhost:3000/ +Completed 302 Found in 7ms (ActiveRecord: 3.0ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:32:20 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.4ms) +Completed 200 OK in 30ms (Views: 27.0ms | ActiveRecord: 0.4ms) + + +Started PATCH "/tasks/1/mark_complete" for 127.0.0.1 at 2017-09-19 16:32:21 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"WCHr/LyBcFpAoU9HnOOERkZl1zVOHrTkuqccK11F9qJX3+4pc6km5vEHeIrS0uFAa5HngZWCWvmW0L/tlGOy/g==", "id"=>"1"} + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] +  (0.3ms) BEGIN + SQL (0.7ms) UPDATE "tasks" SET "completed" = $1, "updated_at" = $2 WHERE "tasks"."id" = $3 [["completed", "f"], ["updated_at", "2017-09-19 23:32:21.452660"], ["id", 1]] +  (1.8ms) COMMIT +Redirected to http://localhost:3000/ +Completed 302 Found in 9ms (ActiveRecord: 3.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:32:21 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.7ms) +Completed 200 OK in 30ms (Views: 27.2ms | ActiveRecord: 0.3ms) + + +Started PATCH "/tasks/1/mark_complete" for 127.0.0.1 at 2017-09-19 16:32:22 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"i1Nh8RN1HU2suZT2h/P3KJhGmA+j2m/GzSkzTU/vxRmErWQk3F1L8R0fozvJwpIutbKou3hGgdvhXpCLhsmBRQ==", "id"=>"1"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] +  (0.2ms) BEGIN + SQL (0.7ms) UPDATE "tasks" SET "completed" = $1, "updated_at" = $2 WHERE "tasks"."id" = $3 [["completed", "t"], ["updated_at", "2017-09-19 23:32:22.227362"], ["id", 1]] +  (2.0ms) COMMIT +Redirected to http://localhost:3000/ +Completed 302 Found in 8ms (ActiveRecord: 3.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:32:22 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.7ms) +Completed 200 OK in 24ms (Views: 21.1ms | ActiveRecord: 0.4ms) + + +Started PATCH "/tasks/4/mark_complete" for 127.0.0.1 at 2017-09-19 16:32:23 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"sNeBclrdAaXs8Tg9gCTr8NJHlbkDqkCraFPqXQsPcOe/KYSnlfVXGV1XD/DOFY72/7OlDdg2rrZEJEmbwik0uw==", "id"=>"4"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] +  (0.2ms) BEGIN + SQL (0.5ms) UPDATE "tasks" SET "completed" = $1, "updated_at" = $2 WHERE "tasks"."id" = $3 [["completed", "t"], ["updated_at", "2017-09-19 23:32:23.384253"], ["id", 4]] +  (2.0ms) COMMIT +Redirected to http://localhost:3000/ +Completed 302 Found in 8ms (ActiveRecord: 2.9ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:32:23 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.0ms) +Completed 200 OK in 27ms (Views: 23.8ms | ActiveRecord: 0.6ms) + + +Started PATCH "/tasks/4/mark_complete" for 127.0.0.1 at 2017-09-19 16:32:24 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"QVFWecuvZuy6UZBh8eL7yJoLbKPHZNRESeUT/0VvZbJOr1OsBIcwUAv3p6y/057Ot/9cFxz4OlllkrA5jEkh7g==", "id"=>"4"} + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] +  (0.3ms) BEGIN + SQL (1.0ms) UPDATE "tasks" SET "completed" = $1, "updated_at" = $2 WHERE "tasks"."id" = $3 [["completed", "f"], ["updated_at", "2017-09-19 23:32:24.091058"], ["id", 4]] +  (0.7ms) COMMIT +Redirected to http://localhost:3000/ +Completed 302 Found in 8ms (ActiveRecord: 2.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:32:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.0ms) +Completed 200 OK in 24ms (Views: 21.0ms | ActiveRecord: 0.3ms) + + +Started PATCH "/tasks/4/mark_complete" for 127.0.0.1 at 2017-09-19 16:32:24 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"NDpsZdKNPze6SNUXcY6cQf0PkR7bDMjRQvCNyS9uxdA7xGmwHaVpiwvu4to/v/lH0PuhqgCQJsxuhy4P5kiBjA==", "id"=>"4"} + Task Load (1.8ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] +  (0.2ms) BEGIN + SQL (0.5ms) UPDATE "tasks" SET "completed" = $1, "updated_at" = $2 WHERE "tasks"."id" = $3 [["completed", "t"], ["updated_at", "2017-09-19 23:32:24.831756"], ["id", 4]] +  (2.0ms) COMMIT +Redirected to http://localhost:3000/ +Completed 302 Found in 9ms (ActiveRecord: 4.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:32:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.7ms) +Completed 200 OK in 27ms (Views: 24.2ms | ActiveRecord: 0.3ms) + + +Started PATCH "/tasks/4/mark_complete" for 127.0.0.1 at 2017-09-19 16:32:25 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"EEfatNZuEprkqafvvGMxkohXJLGBGcJN2V9r87OEnaEfud9hGUZEJlUPkCLyUlSUpaMUBVqFLFD1KMg1eqLZ/Q==", "id"=>"4"} + Task Load (1.7ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] +  (0.3ms) BEGIN + SQL (0.4ms) UPDATE "tasks" SET "completed" = $1, "updated_at" = $2 WHERE "tasks"."id" = $3 [["completed", "f"], ["updated_at", "2017-09-19 23:32:25.461659"], ["id", 4]] +  (2.0ms) COMMIT +Redirected to http://localhost:3000/ +Completed 302 Found in 10ms (ActiveRecord: 4.5ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:32:25 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.0ms) +Completed 200 OK in 27ms (Views: 24.0ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:33:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.4ms) +Completed 200 OK in 27ms (Views: 24.2ms | ActiveRecord: 0.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:35:55 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.6ms) +Completed 200 OK in 91ms (Views: 88.1ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:39:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.0ms) +Completed 200 OK in 68ms (Views: 65.1ms | ActiveRecord: 0.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:40:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 30ms (Views: 25.4ms | ActiveRecord: 0.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:41:57 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.9ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.7ms) +Completed 200 OK in 92ms (Views: 87.2ms | ActiveRecord: 0.9ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:45:46 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.3ms) +Completed 200 OK in 86ms (Views: 82.8ms | ActiveRecord: 0.5ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:46:04 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.7ms) +Completed 200 OK in 75ms (Views: 70.5ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:47:38 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.2ms) +Completed 200 OK in 87ms (Views: 83.2ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:48:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.4ms) +Completed 200 OK in 90ms (Views: 86.8ms | ActiveRecord: 0.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:48:42 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.7ms) +Completed 200 OK in 69ms (Views: 64.8ms | ActiveRecord: 0.6ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:49:30 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.6ms) +Completed 200 OK in 64ms (Views: 60.8ms | ActiveRecord: 0.6ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:49:39 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.7ms) +Completed 200 OK in 66ms (Views: 63.3ms | ActiveRecord: 0.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:50:16 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 65ms (Views: 61.2ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:50:50 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.2ms) +Completed 200 OK in 73ms (Views: 68.6ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:54:42 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 34ms (Views: 31.4ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:55:43 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 70ms (Views: 66.4ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:56:41 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.9ms) +Completed 200 OK in 78ms (Views: 75.0ms | ActiveRecord: 0.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:57:04 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.4ms) +Completed 200 OK in 72ms (Views: 68.2ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:57:21 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.1ms) +Completed 200 OK in 68ms (Views: 64.9ms | ActiveRecord: 0.5ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:58:11 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 70ms (Views: 66.0ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:58:29 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (6.8ms) +Completed 200 OK in 69ms (Views: 65.6ms | ActiveRecord: 0.6ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:59:03 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.6ms) +Completed 200 OK in 28ms (Views: 25.1ms | ActiveRecord: 0.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:59:28 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.7ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.7ms) +Completed 200 OK in 70ms (Views: 66.7ms | ActiveRecord: 0.7ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 16:59:44 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (6.0ms) +Completed 200 OK in 70ms (Views: 67.0ms | ActiveRecord: 0.6ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 17:00:09 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.2ms) +Completed 200 OK in 69ms (Views: 66.4ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 21:58:50 -0700 +  (7.3ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.1ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (22.0ms) +Completed 200 OK in 385ms (Views: 362.9ms | ActiveRecord: 5.7ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 21:59:34 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.0ms) +Completed 200 OK in 66ms (Views: 62.1ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:00:10 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.7ms) +Completed 200 OK in 92ms (Views: 87.3ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:00:52 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.4ms) +Completed 200 OK in 92ms (Views: 87.3ms | ActiveRecord: 0.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:01:17 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.5ms) +Completed 200 OK in 60ms (Views: 55.2ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:01:42 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.2ms) +Completed 200 OK in 63ms (Views: 60.0ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:01:54 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.4ms) +Completed 200 OK in 61ms (Views: 57.0ms | ActiveRecord: 0.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:02:32 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.5ms) +Completed 200 OK in 60ms (Views: 55.1ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:03:03 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.5ms) +Completed 200 OK in 63ms (Views: 58.2ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:03:27 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.9ms) +Completed 200 OK in 60ms (Views: 55.7ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:04:20 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.7ms) +Completed 200 OK in 74ms (Views: 70.0ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:04:48 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.0ms) +Completed 200 OK in 67ms (Views: 62.0ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:06:20 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.0ms) +Completed 200 OK in 63ms (Views: 60.3ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:09:04 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.4ms) +Completed 200 OK in 66ms (Views: 62.2ms | ActiveRecord: 0.5ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:09:43 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.6ms) +Completed 200 OK in 62ms (Views: 56.7ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:10:22 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.8ms) +Completed 200 OK in 63ms (Views: 59.4ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:11:25 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.1ms) +Completed 200 OK in 67ms (Views: 64.1ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:12:01 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.0ms) +Completed 200 OK in 78ms (Views: 74.5ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:12:46 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (6.1ms) +Completed 200 OK in 71ms (Views: 65.2ms | ActiveRecord: 0.6ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:13:37 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 29ms (Views: 24.8ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:14:09 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.5ms) +Completed 200 OK in 65ms (Views: 61.4ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:14:32 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.8ms) +Completed 200 OK in 71ms (Views: 66.3ms | ActiveRecord: 0.5ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:14:49 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 70ms (Views: 66.1ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:14:58 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.4ms) +Completed 200 OK in 71ms (Views: 67.0ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:15:08 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.9ms) +Completed 200 OK in 67ms (Views: 62.7ms | ActiveRecord: 0.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:15:26 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (11.5ms) +Completed 200 OK in 71ms (Views: 67.6ms | ActiveRecord: 0.6ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:15:53 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.9ms) +Completed 500 Internal Server Error in 30ms (ActiveRecord: 0.4ms) + + + +ActionView::Template::Error (Invalid CSS after "...dding=left: 29%": expected "{", was ";"): + 4: TaskList + 5: <%= csrf_meta_tags %> + 6: + 7: <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> + 8: <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> + 9: + 10: + +app/assets/stylesheets/tasks.scss:18 +app/views/layouts/application.html.erb:7:in `_app_views_layouts_application_html_erb___4197604183550845723_70276181630460' +Started GET "/" for 127.0.0.1 at 2017-09-19 22:16:02 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.9ms) +Completed 200 OK in 74ms (Views: 70.6ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:16:17 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.9ms) +Completed 200 OK in 65ms (Views: 61.5ms | ActiveRecord: 0.6ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:22:47 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.4ms) +Completed 200 OK in 32ms (Views: 27.5ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:26:15 -0700 +  (1.3ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.2ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (21.4ms) +Completed 200 OK in 382ms (Views: 362.5ms | ActiveRecord: 6.2ms) + + +Started GET "/app/assets/images/this_is_fine_dog.png" for 127.0.0.1 at 2017-09-19 22:26:16 -0700 + +ActionController::RoutingError (No route matches [GET] "/app/assets/images/this_is_fine_dog.png"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/" for 127.0.0.1 at 2017-09-19 22:27:01 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.9ms) +Completed 200 OK in 27ms (Views: 23.8ms | ActiveRecord: 0.5ms) + + +Started GET "/app/assets/images/this_is_fine_dog.png" for 127.0.0.1 at 2017-09-19 22:27:01 -0700 + +ActionController::RoutingError (No route matches [GET] "/app/assets/images/this_is_fine_dog.png"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/" for 127.0.0.1 at 2017-09-19 22:28:00 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.2ms) +Completed 200 OK in 28ms (Views: 23.8ms | ActiveRecord: 0.5ms) + + + +ActionController::RoutingError (No route matches [GET] "/assets/images/this_is_fine_dog.png"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:11:in `block in call' +activesupport (5.1.4) lib/active_support/logger_silence.rb:20:in `silence' +activesupport (5.1.4) lib/active_support/logger.rb:63:in `block (3 levels) in broadcast' +activesupport (5.1.4) lib/active_support/logger_silence.rb:20:in `silence' +activesupport (5.1.4) lib/active_support/logger.rb:61:in `block (2 levels) in broadcast' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:11:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/" for 127.0.0.1 at 2017-09-19 22:29:11 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 26ms (Views: 22.7ms | ActiveRecord: 0.4ms) + + +Started GET "/image-url('this_is_fine_dog.png')" for 127.0.0.1 at 2017-09-19 22:29:12 -0700 + +ActionController::RoutingError (No route matches [GET] "/image-url('this_is_fine_dog.png')"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/" for 127.0.0.1 at 2017-09-19 22:29:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.7ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.4ms) +Completed 200 OK in 28ms (Views: 24.8ms | ActiveRecord: 0.7ms) + + +Started GET "/image-url('this_is_fine_dog.png')" for 127.0.0.1 at 2017-09-19 22:29:14 -0700 + +ActionController::RoutingError (No route matches [GET] "/image-url('this_is_fine_dog.png')"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/" for 127.0.0.1 at 2017-09-19 22:29:40 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (3.8ms) +Completed 200 OK in 27ms (Views: 23.5ms | ActiveRecord: 0.3ms) + + +Started GET "/image-url('this_is_fine_dog.png'" for 127.0.0.1 at 2017-09-19 22:29:40 -0700 + +ActionController::RoutingError (No route matches [GET] "/image-url('this_is_fine_dog.png'"): + +actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:63:in `call' +web-console (3.5.1) lib/web_console/middleware.rb:135:in `call_app' +web-console (3.5.1) lib/web_console/middleware.rb:28:in `block in call' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `catch' +web-console (3.5.1) lib/web_console/middleware.rb:18:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call' +railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged' +activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged' +railties (5.1.4) lib/rails/rack/logger.rb:24:in `call' +sprockets-rails (3.2.1) lib/sprockets/rails/quiet_assets.rb:13:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call' +rack (2.0.3) lib/rack/method_override.rb:22:in `call' +rack (2.0.3) lib/rack/runtime.rb:22:in `call' +activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call' +actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call' +rack (2.0.3) lib/rack/sendfile.rb:111:in `call' +railties (5.1.4) lib/rails/engine.rb:522:in `call' +puma (3.10.0) lib/puma/configuration.rb:225:in `call' +puma (3.10.0) lib/puma/server.rb:605:in `handle_request' +puma (3.10.0) lib/puma/server.rb:437:in `process_client' +puma (3.10.0) lib/puma/server.rb:301:in `block in run' +puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread' +Started GET "/" for 127.0.0.1 at 2017-09-19 22:32:06 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (1.1ms) +Completed 500 Internal Server Error in 8ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:4: syntax error, unexpected tIDENTIFIER, expecting ')' +tag 'this_is_fine_dog.png' alt='This is Fine dog' );@output_ + ^): + +app/views/tasks/index.html.erb:4: syntax error, unexpected tIDENTIFIER, expecting ')' +Started GET "/" for 127.0.0.1 at 2017-09-19 22:32:15 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.6ms) +Completed 200 OK in 29ms (Views: 26.4ms | ActiveRecord: 0.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-19 22:32:46 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Rendered tasks/index.html.erb within layouts/application (2.1ms) +Completed 500 Internal Server Error in 12ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:43: syntax error, unexpected keyword_ensure, expecting ')' + ensure + ^ +/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/index.html.erb:45: syntax error, unexpected keyword_end, expecting ')' + end + ^): + +app/views/tasks/index.html.erb:43: syntax error, unexpected keyword_ensure, expecting ')' +app/views/tasks/index.html.erb:45: syntax error, unexpected keyword_end, expecting ')' +Started GET "/" for 127.0.0.1 at 2017-09-19 22:33:35 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.7ms) +Completed 200 OK in 27ms (Views: 23.8ms | ActiveRecord: 0.4ms) + + + Task Load (1.1ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] +  (0.7ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +  (0.5ms) SELECT pg_try_advisory_lock(7702170574030116555) +  (0.7ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Migrating to ChangeColumnNameCompletedToComplete (20170920162012) +  (0.2ms) BEGIN +  (6.5ms) ALTER TABLE "tasks" RENAME COLUMN "completed" TO "complete" + SQL (0.4ms) INSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version" [["version", "20170920162012"]] +  (1.7ms) COMMIT + ActiveRecord::InternalMetadata Load (0.6ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]] +  (0.2ms) BEGIN +  (0.2ms) COMMIT +  (0.3ms) SELECT pg_advisory_unlock(7702170574030116555) +  (0.3ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +  (0.7ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Started GET "/" for 127.0.0.1 at 2017-09-20 09:24:10 -0700 +  (0.7ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (206.0ms) +Completed 200 OK in 278ms (Views: 250.5ms | ActiveRecord: 9.8ms) + + +Started PATCH "/tasks/1/mark_complete" for 127.0.0.1 at 2017-09-20 09:24:13 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"AIZJAl2MwaKe4Z8Lj9z3rvLL5AbhBaOYxdaLphdtMZeD1z4pN0owyWCgzllA3e6yZT71/dl4sBX+czeqSY8aqg==", "id"=>"1"} + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] +  (0.2ms) BEGIN + SQL (0.5ms) UPDATE "tasks" SET "complete" = $1, "updated_at" = $2 WHERE "tasks"."id" = $3 [["complete", "f"], ["updated_at", "2017-09-20 16:24:13.918812"], ["id", 1]] +  (6.4ms) COMMIT +Redirected to http://localhost:3000/ +Completed 302 Found in 29ms (ActiveRecord: 14.1ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-20 09:24:13 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.9ms) +Completed 200 OK in 53ms (Views: 48.7ms | ActiveRecord: 0.6ms) + + +Started PATCH "/tasks/1/mark_complete" for 127.0.0.1 at 2017-09-20 09:24:14 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"d9Ma4fQ/IYuBighEg9hMBnYPqbk4kcihCKUc9saJ/9n0gm3KnvnQ4H/LWRZM2VUa4fq4QgDs2ywzAKD6mGvU5A==", "id"=>"1"} + Task Load (0.7ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] +  (0.3ms) BEGIN + SQL (0.9ms) UPDATE "tasks" SET "complete" = $1, "updated_at" = $2 WHERE "tasks"."id" = $3 [["complete", "t"], ["updated_at", "2017-09-20 16:24:14.905473"], ["id", 1]] +  (0.4ms) COMMIT +Redirected to http://localhost:3000/ +Completed 302 Found in 9ms (ActiveRecord: 2.3ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-20 09:24:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.9ms) +Completed 200 OK in 34ms (Views: 30.3ms | ActiveRecord: 0.6ms) + + + Task Load (0.7ms) SELECT "tasks".* FROM "tasks" LIMIT $1 [["LIMIT", 11]] + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] +Started GET "/" for 127.0.0.1 at 2017-09-20 13:49:36 -0700 +  (6.6ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (335.0ms) +Completed 200 OK in 444ms (Views: 417.7ms | ActiveRecord: 8.9ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-20 14:19:41 -0700 +  (0.8ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (188.7ms) +Completed 200 OK in 266ms (Views: 242.5ms | ActiveRecord: 8.6ms) + + +Started GET "/tasks/4/edit" for 127.0.0.1 at 2017-09-20 14:19:44 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"4"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (0.7ms) +Completed 200 OK in 49ms (Views: 40.4ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-20 14:20:34 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.9ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (42.9ms) +Completed 200 OK in 69ms (Views: 57.3ms | ActiveRecord: 7.9ms) + + +Started GET "/tasks/4" for 127.0.0.1 at 2017-09-20 14:20:36 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (1.0ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (322.8ms) +Completed 500 Internal Server Error in 352ms (ActiveRecord: 6.3ms) + + + +ActionView::Template::Error (undefined local variable or method `task' for #<#:0x007fb4a14000d0> +Did you mean? @task): + 1:

          <%= task.name.capitalize %>

          + 2: + 3:

          + 4: <%= task.description %> + +app/views/tasks/show.html.erb:1:in `_app_views_tasks_show_html_erb__2635708851712837447_70206888084980' +Started GET "/tasks/4" for 127.0.0.1 at 2017-09-20 14:21:08 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.6ms) +Completed 200 OK in 24ms (Views: 19.6ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-20 14:21:27 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (27.0ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (34.6ms) +Completed 200 OK in 71ms (Views: 37.1ms | ActiveRecord: 27.0ms) + + +Started GET "/tasks/2" for 127.0.0.1 at 2017-09-20 14:21:28 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 53ms (Views: 41.2ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-20 14:31:13 -0700 +  (0.9ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (255.3ms) +Completed 200 OK in 352ms (Views: 327.1ms | ActiveRecord: 8.7ms) + + +Started GET "/tasks/4" for 127.0.0.1 at 2017-09-20 14:36:13 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.6ms) +Completed 200 OK in 61ms (Views: 42.9ms | ActiveRecord: 0.9ms) + + +Started GET "/tasks/1/edit" for 127.0.0.1 at 2017-09-20 14:36:19 -0700 +Processing by TasksController#edit as HTML + Parameters: {"id"=>"1"} + Rendering tasks/edit.html.erb within layouts/application + Rendered tasks/edit.html.erb within layouts/application (0.6ms) +Completed 200 OK in 44ms (Views: 39.0ms | ActiveRecord: 0.0ms) + + +Started POST "/tasks" for 127.0.0.1 at 2017-09-20 14:36:22 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"PpDoaTTjH1o6RL9dkOOnj9Z3SJJJMdm6bQLbRM1aGMK9wZ9CXiXuMcQF7g9f4r6TQYJZaXFMyjdWp2dIk7gz/w=="} + Rendering tasks/create.html.erb within layouts/application + Rendered tasks/create.html.erb within layouts/application (0.5ms) +Completed 200 OK in 28ms (Views: 25.1ms | ActiveRecord: 0.0ms) + + +Started POST "/tasks" for 127.0.0.1 at 2017-09-20 14:36:43 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"PpDoaTTjH1o6RL9dkOOnj9Z3SJJJMdm6bQLbRM1aGMK9wZ9CXiXuMcQF7g9f4r6TQYJZaXFMyjdWp2dIk7gz/w=="} + Rendering tasks/create.html.erb within layouts/application + Rendered tasks/create.html.erb within layouts/application (0.8ms) +Completed 200 OK in 44ms (Views: 39.6ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/4" for 127.0.0.1 at 2017-09-20 14:36:50 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.8ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.7ms) +Completed 200 OK in 61ms (Views: 51.8ms | ActiveRecord: 0.8ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-20 15:04:04 -0700 +  (0.9ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.7ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (201.9ms) +Completed 200 OK in 275ms (Views: 248.5ms | ActiveRecord: 9.8ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-20 15:04:29 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.1ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (18.8ms) +Completed 200 OK in 137ms (Views: 125.9ms | ActiveRecord: 7.0ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-20 15:04:46 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (6.5ms) +Completed 200 OK in 80ms (Views: 76.6ms | ActiveRecord: 0.6ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-20 15:05:30 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (9.1ms) +Completed 200 OK in 41ms (Views: 36.9ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-20 15:05:47 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (7.4ms) +Completed 200 OK in 96ms (Views: 93.0ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-20 15:06:52 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (6.4ms) +Completed 200 OK in 68ms (Views: 65.5ms | ActiveRecord: 0.6ms) + + +Started GET "/tasks/" for 127.0.0.1 at 2017-09-20 15:08:00 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (6.1ms) +Completed 200 OK in 66ms (Views: 62.8ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-20 15:09:00 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.2ms) +Completed 200 OK in 76ms (Views: 71.6ms | ActiveRecord: 0.3ms) + + +Started POST "/tasks" for 127.0.0.1 at 2017-09-20 15:09:02 -0700 +Processing by TasksController#create as HTML + Parameters: {"authenticity_token"=>"KcwHPIsbkU/goDoJN192RB6zBi9gutK9gQqsii3jjVSqnXAX4d1gJB7ha1v4Xm9YiUYX1FjHwTC6rxCGcwGmaQ=="} + Rendering tasks/create.html.erb within layouts/application + Rendered tasks/create.html.erb within layouts/application (0.4ms) +Completed 200 OK in 23ms (Views: 19.6ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-20 15:09:49 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.7ms) +Completed 200 OK in 30ms (Views: 25.8ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-20 15:09:52 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.7ms) +Completed 200 OK in 28ms (Views: 25.5ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/new" for 127.0.0.1 at 2017-09-20 15:09:54 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (0.4ms) +Completed 200 OK in 26ms (Views: 22.8ms | ActiveRecord: 0.0ms) + + +Started GET "/tasks/1" for 127.0.0.1 at 2017-09-20 15:10:00 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"1"} + Task Load (0.7ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 50ms (Views: 28.0ms | ActiveRecord: 1.0ms) + + +Started GET "/tasks/4" for 127.0.0.1 at 2017-09-20 15:11:08 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.6ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.9ms) +Completed 200 OK in 63ms (Views: 56.1ms | ActiveRecord: 1.0ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-20 15:14:31 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (4.9ms) +Completed 200 OK in 66ms (Views: 62.1ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/4" for 127.0.0.1 at 2017-09-20 15:14:33 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.3ms) +Completed 200 OK in 44ms (Views: 32.4ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks/4" for 127.0.0.1 at 2017-09-20 15:14:54 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.7ms) +Completed 200 OK in 70ms (Views: 65.6ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks/4" for 127.0.0.1 at 2017-09-20 15:33:11 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"4"} + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 4], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.6ms) +Completed 200 OK in 79ms (Views: 63.1ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks" for 127.0.0.1 at 2017-09-20 15:33:12 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (9.4ms) +Completed 200 OK in 57ms (Views: 51.3ms | ActiveRecord: 0.5ms) + + +Started GET "/tasks/new" for 127.0.0.1 at 2017-09-20 15:33:14 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (5.4ms) +Completed 500 Internal Server Error in 20ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (First argument in form cannot contain nil or be empty): + 2: + 3:

          New Task

          + 4: + 5: <%= form_for @task do |f| %> + 6: <%= f.label :name %> + 7: <%= f.text_field :name %> + 8: + +app/views/tasks/new.html.erb:5:in `_app_views_tasks_new_html_erb__572946786934478517_70200730256020' +Started GET "/tasks/new" for 127.0.0.1 at 2017-09-20 15:34:20 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.7ms) +Completed 500 Internal Server Error in 11ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (First argument in form cannot contain nil or be empty): + 2: + 3:

          New Task

          + 4: + 5: <%= form_for @task do |f| %> + 6: <%= f.label :name %> + 7: <%= f.text_field :name %> + 8: + +app/views/tasks/new.html.erb:5:in `_app_views_tasks_new_html_erb__572946786934478517_70200740005440' +Started GET "/tasks" for 127.0.0.1 at 2017-09-20 15:34:24 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (6.2ms) +Completed 200 OK in 32ms (Views: 28.5ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/new" for 127.0.0.1 at 2017-09-20 15:34:26 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.8ms) +Completed 500 Internal Server Error in 12ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (First argument in form cannot contain nil or be empty): + 2: + 3:

          New Task

          + 4: + 5: <%= form_for @task do |f| %> + 6: <%= f.label :name %> + 7: <%= f.text_field :name %> + 8: + +app/views/tasks/new.html.erb:5:in `_app_views_tasks_new_html_erb__572946786934478517_70200775643560' +Started GET "/tasks" for 127.0.0.1 at 2017-09-20 15:34:46 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.7ms) +Completed 200 OK in 30ms (Views: 26.2ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/new" for 127.0.0.1 at 2017-09-20 15:34:48 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (2.8ms) +Completed 500 Internal Server Error in 13ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (First argument in form cannot contain nil or be empty): + 2: + 3:

          New Task

          + 4: + 5: <%= form_for @task do |f| %> + 6: <%= f.text_field :id %> + 7: + 8: <%= f.label :name %> + +app/views/tasks/new.html.erb:5:in `_app_views_tasks_new_html_erb__572946786934478517_70200775442940' +Started GET "/tasks" for 127.0.0.1 at 2017-09-20 15:40:35 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.4ms) +Completed 200 OK in 30ms (Views: 26.9ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/2" for 127.0.0.1 at 2017-09-20 15:40:39 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (1.1ms) +Completed 200 OK in 46ms (Views: 35.7ms | ActiveRecord: 0.4ms) + + +Started PATCH "/tasks/2/mark_complete" for 127.0.0.1 at 2017-09-20 15:40:43 -0700 +Processing by TasksController#mark_complete as HTML + Parameters: {"authenticity_token"=>"YVUneoK0QrimD+8qZ6TpzPajUNPWlPk1zCO9xEag0fniBFBR6HKz01hOvniopfDQYVZBKO7p6rj3hgHIGEL6xA==", "id"=>"2"} + Task Load (0.5ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 2], ["LIMIT", 1]] +  (0.3ms) BEGIN + SQL (0.5ms) UPDATE "tasks" SET "complete" = $1, "updated_at" = $2 WHERE "tasks"."id" = $3 [["complete", "t"], ["updated_at", "2017-09-20 22:40:43.303739"], ["id", 2]] +  (2.1ms) COMMIT +Redirected to http://localhost:3000/ +Completed 302 Found in 9ms (ActiveRecord: 3.4ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-20 15:40:43 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.3ms) +Completed 200 OK in 32ms (Views: 28.3ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/2" for 127.0.0.1 at 2017-09-20 15:40:45 -0700 +Processing by TasksController#show as HTML + Parameters: {"id"=>"2"} + Task Load (0.8ms) SELECT "tasks".* FROM "tasks" WHERE "tasks"."id" = $1 LIMIT $2 [["id", 2], ["LIMIT", 1]] + Rendering tasks/show.html.erb within layouts/application + Rendered tasks/show.html.erb within layouts/application (0.8ms) +Completed 200 OK in 38ms (Views: 30.7ms | ActiveRecord: 0.8ms) + + +Started GET "/tasks/new" for 127.0.0.1 at 2017-09-20 15:40:49 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (3.2ms) +Completed 500 Internal Server Error in 14ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (First argument in form cannot contain nil or be empty): + 2: + 3:

          New Task

          + 4: + 5: <%= form_for @task do |f| %> + 6: + 7: <%= f.label :name %> + 8: <%= f.text_field :name %> + +app/views/tasks/new.html.erb:5:in `_app_views_tasks_new_html_erb__572946786934478517_70200762086520' +Started GET "/" for 127.0.0.1 at 2017-09-20 15:41:48 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (1.0ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (7.0ms) +Completed 200 OK in 49ms (Views: 44.6ms | ActiveRecord: 1.0ms) + + +Started GET "/tasks/new" for 127.0.0.1 at 2017-09-20 15:41:49 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (5.9ms) +Completed 500 Internal Server Error in 19ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (First argument in form cannot contain nil or be empty): + 2: + 3:

          New Task

          + 4: + 5: <% form_for @task do |f| %> + 6: + 7: <%= f.label :name %> + 8: <%= f.text_field :name %> + +app/views/tasks/new.html.erb:5:in `_app_views_tasks_new_html_erb__572946786934478517_70200761806900' +Started GET "/" for 127.0.0.1 at 2017-09-20 15:42:14 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.3ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.1ms) +Completed 200 OK in 37ms (Views: 32.8ms | ActiveRecord: 0.3ms) + + +Started GET "/tasks/new" for 127.0.0.1 at 2017-09-20 15:42:16 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (0.4ms) +Completed 200 OK in 30ms (Views: 25.3ms | ActiveRecord: 0.0ms) + + +Started GET "/" for 127.0.0.1 at 2017-09-20 15:45:46 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (11.8ms) +Completed 200 OK in 41ms (Views: 34.9ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/new" for 127.0.0.1 at 2017-09-20 15:45:47 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (157.2ms) +Completed 500 Internal Server Error in 170ms (ActiveRecord: 0.0ms) + + + +ActionView::Template::Error (undefined method `checkbox' for # +Did you mean? check_box): + 14: <%= f.date_field :due_date %> + 15: + 16: <%= f.label :complete %> + 17: <%= f.checkbox :complete %> + 18: + 19: + 20: <% end %> + +app/views/tasks/new.html.erb:17:in `block in _app_views_tasks_new_html_erb__572946786934478517_70200744447200' +app/views/tasks/new.html.erb:5:in `_app_views_tasks_new_html_erb__572946786934478517_70200744447200' +Started GET "/" for 127.0.0.1 at 2017-09-20 15:46:06 -0700 +Processing by TasksController#index as HTML + Rendering tasks/index.html.erb within layouts/application + Task Load (0.4ms) SELECT "tasks".* FROM "tasks" ORDER BY "tasks"."due_date" ASC + Rendered tasks/index.html.erb within layouts/application (5.8ms) +Completed 200 OK in 30ms (Views: 26.3ms | ActiveRecord: 0.4ms) + + +Started GET "/tasks/new" for 127.0.0.1 at 2017-09-20 15:46:07 -0700 +Processing by TasksController#new as HTML + Rendering tasks/new.html.erb within layouts/application + Rendered tasks/new.html.erb within layouts/application (0.9ms) +Completed 500 Internal Server Error in 10ms (ActiveRecord: 0.0ms) + + + +SyntaxError (/Users/cyril/ada/week7/TaskList/task_list/app/views/tasks/new.html.erb:19: syntax error, unexpected '<' +

C5c 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 li { + font-size: 1.5rem; +} + +ul > li { + font-size: 1rem; +} + +.complete { + text-decoration: line-through; +} + +/* DISPLAY */ +body { + display: flex; + flex-direction: column; + min-height: 100vh; +} + +.index-container { + flex: 1; + margin: 3% 8%; +} + +h1, h2 { + display: flex; +} + +h2 { + margin-bottom: 1.5rem; +} + +.list { + float: right; + padding: 2rem 2rem 2rem 4rem; + border: 2px black solid; + border-radius: 2rem; +} + +footer { + text-align: center; +} + +/* STYLE LINKS */ +ul { + list-style: none; +} + +a { + text-decoration: none; +} + +// .button { +// margin: 2rem; +// font-size: 2rem; +// } diff --git a/task_list/app/controllers/tasks_controller.rb b/task_list/app/controllers/tasks_controller.rb index f1fb99115..34b9239b8 100644 --- a/task_list/app/controllers/tasks_controller.rb +++ b/task_list/app/controllers/tasks_controller.rb @@ -1,8 +1,15 @@ class TasksController < ApplicationController + + TASKS = [ { id: 1, task_name: 'buy groceries', complete: true }, + { id: 2, task_name: 'wash car', complete: false }, + { id: 3, task_name: 'do laundry', complete: false }, + { id: 4, task_name: 'lightning talk', complete: false } ] + def new end def index + @tasks = TASKS end def edit @@ -18,5 +25,13 @@ def create end def show + id = params[:id].to_i + @task = nil + + TASKS.each do |task| + if task[:id] == id + @task = task + end + end end end diff --git a/task_list/app/views/layouts/application.html.erb b/task_list/app/views/layouts/application.html.erb index be7a9f069..f4d64f225 100644 --- a/task_list/app/views/layouts/application.html.erb +++ b/task_list/app/views/layouts/application.html.erb @@ -10,5 +10,8 @@ <%= yield %> +