From db12c83bd1a97ee098de52503e81a057937c3822 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Mon, 18 Jun 2018 13:40:30 -0700 Subject: [PATCH 01/12] gemfile changes --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9f7601a8..22779079 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -118,7 +118,7 @@ GEM slop (~> 3.4) pry-rails (0.3.4) pry (>= 0.9.10) - puma (3.6.2) + puma (3.11.4) rack (2.0.1) rack-test (0.6.3) rack (>= 1.0) From 9fa4825678c337b86f6b006812fd98f91b9483f0 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Tue, 19 Jun 2018 14:03:56 -0700 Subject: [PATCH 02/12] movie post request added to movie controller --- app/controllers/movies_controller.rb | 14 ++++++++++++++ config/routes.rb | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/controllers/movies_controller.rb b/app/controllers/movies_controller.rb index 362e2791..96a472ab 100644 --- a/app/controllers/movies_controller.rb +++ b/app/controllers/movies_controller.rb @@ -21,6 +21,16 @@ def show ) end + def create + movie = Movie.new(movie_params) + + if movie.save + render :json => movie.to_json, :status => :ok + else + render :json => { :errors=>movie.errors.messages }, :status => :bad_request + end + end + private def require_movie @@ -29,4 +39,8 @@ def require_movie render status: :not_found, json: { errors: { title: ["No movie with title #{params["title"]}"] } } end end + + def movie_params + return params.permit(:title, :overview, :release_date, :image_url, :external_id) + end end diff --git a/config/routes.rb b/config/routes.rb index 54bf033e..8eff1ff6 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -3,7 +3,7 @@ resources :customers, only: [:index] - resources :movies, only: [:index, :show], param: :title + resources :movies, only: [:index, :show, :create], param: :title post "/rentals/:title/check-out", to: "rentals#check_out", as: "check_out" post "/rentals/:title/return", to: "rentals#check_in", as: "check_in" From c8a6b7c6479b8b00799a5177e3aaa787d7a8d162 Mon Sep 17 00:00:00 2001 From: Lily Sky Date: Tue, 19 Jun 2018 14:06:35 -0700 Subject: [PATCH 03/12] gemfile --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9f7601a8..22779079 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -118,7 +118,7 @@ GEM slop (~> 3.4) pry-rails (0.3.4) pry (>= 0.9.10) - puma (3.6.2) + puma (3.11.4) rack (2.0.1) rack-test (0.6.3) rack (>= 1.0) From 21b52cfdb74a44c11cdae3cb5585edad09dd8a6b Mon Sep 17 00:00:00 2001 From: Phoebe Date: Tue, 19 Jun 2018 14:32:06 -0700 Subject: [PATCH 04/12] fixes cors issue with rack cors gem --- Gemfile | 2 ++ Gemfile.lock | 2 ++ config/application.rb | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/Gemfile b/Gemfile index 009415af..2483fe75 100644 --- a/Gemfile +++ b/Gemfile @@ -35,6 +35,8 @@ gem 'jbuilder', '~> 2.5' # Use Capistrano for deployment # gem 'capistrano-rails', group: :development +gem 'rack-cors', require: 'rack/cors' + gem 'will_paginate' group :development, :test do diff --git a/Gemfile.lock b/Gemfile.lock index 22779079..fcb76c2a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -120,6 +120,7 @@ GEM pry (>= 0.9.10) puma (3.11.4) rack (2.0.1) + rack-cors (1.0.2) rack-test (0.6.3) rack (>= 1.0) rails (5.0.1) @@ -210,6 +211,7 @@ DEPENDENCIES minitest-spec-rails pry-rails puma (~> 3.0) + rack-cors rails (~> 5.0.1) sass-rails (~> 5.0) spring diff --git a/config/application.rb b/config/application.rb index cc803322..33b80c2d 100644 --- a/config/application.rb +++ b/config/application.rb @@ -11,6 +11,12 @@ class Application < Rails::Application # 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. + config.middleware.insert_before 0, Rack::Cors do + allow do + origins '*' + resource '*', headers: :any, methods: [:get, :post, :options] + end + end #this loads everything in the lib folder automatically config.eager_load_paths << Rails.root.join('lib') From 5c6bde7986e60d05648ba33587173737c1fd2e8e Mon Sep 17 00:00:00 2001 From: Lily Sky Date: Tue, 19 Jun 2018 15:42:14 -0700 Subject: [PATCH 05/12] alphabetized movies and customers --- app/controllers/customers_controller.rb | 2 +- app/controllers/movies_controller.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/customers_controller.rb b/app/controllers/customers_controller.rb index be25f1be..6af00d56 100644 --- a/app/controllers/customers_controller.rb +++ b/app/controllers/customers_controller.rb @@ -7,7 +7,7 @@ def index if @sort data = Customer.all.order(@sort) else - data = Customer.all + data = Customer.order(:name) end data = data.paginate(page: params[:p], per_page: params[:n]) diff --git a/app/controllers/movies_controller.rb b/app/controllers/movies_controller.rb index 96a472ab..db9c5aad 100644 --- a/app/controllers/movies_controller.rb +++ b/app/controllers/movies_controller.rb @@ -5,7 +5,7 @@ def index if params[:query] data = MovieWrapper.search(params[:query]) else - data = Movie.all + data = Movie.order(:title) end render status: :ok, json: data From 49b3c675b6c33993e3a31c3751dde198fe270e45 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Wed, 20 Jun 2018 13:24:49 -0700 Subject: [PATCH 06/12] adds starter code for fixing broken images --- app/models/movie.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/models/movie.rb b/app/models/movie.rb index 0016080b..e6e0987d 100644 --- a/app/models/movie.rb +++ b/app/models/movie.rb @@ -11,7 +11,12 @@ def image_url if !orig_value MovieWrapper::DEFAULT_IMG_URL elsif external_id - MovieWrapper.construct_image_url(orig_value) + str = MovieWrapper.construct_image_url(orig_value) + # index = str.rindex('https://image.tmdb.org/t/p/w185') + # if index != 0 + # return str[index..-1] + # end + return str else orig_value end From 88922a05993f32a088fccbfb1d7c47c7e2dfafd9 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Wed, 20 Jun 2018 13:30:58 -0700 Subject: [PATCH 07/12] adds logic to fix broken images --- app/models/movie.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/models/movie.rb b/app/models/movie.rb index e6e0987d..ad523386 100644 --- a/app/models/movie.rb +++ b/app/models/movie.rb @@ -12,11 +12,12 @@ def image_url MovieWrapper::DEFAULT_IMG_URL elsif external_id str = MovieWrapper.construct_image_url(orig_value) - # index = str.rindex('https://image.tmdb.org/t/p/w185') - # if index != 0 - # return str[index..-1] - # end - return str + index = str.rindex('https://image.tmdb.org/t/p/w185') + if index != 0 + return str[index..-1] + else + return str + end else orig_value end From f10bd3d412995ce84d47803f693bdc70224e1b2a Mon Sep 17 00:00:00 2001 From: Phoebe Date: Wed, 20 Jun 2018 14:52:09 -0700 Subject: [PATCH 08/12] adds param for inventory --- app/controllers/movies_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/movies_controller.rb b/app/controllers/movies_controller.rb index db9c5aad..8eec0b26 100644 --- a/app/controllers/movies_controller.rb +++ b/app/controllers/movies_controller.rb @@ -41,6 +41,6 @@ def require_movie end def movie_params - return params.permit(:title, :overview, :release_date, :image_url, :external_id) + return params.permit(:title, :overview, :release_date, :image_url, :external_id, :inventory) end end From c0fdf7507053e2c18d88d1dcb3e6443185fe135a Mon Sep 17 00:00:00 2001 From: Phoebe Date: Wed, 20 Jun 2018 14:53:17 -0700 Subject: [PATCH 09/12] gets rid of paigenate --- app/controllers/customers_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/customers_controller.rb b/app/controllers/customers_controller.rb index 6af00d56..54e244a0 100644 --- a/app/controllers/customers_controller.rb +++ b/app/controllers/customers_controller.rb @@ -10,7 +10,7 @@ def index data = Customer.order(:name) end - data = data.paginate(page: params[:p], per_page: params[:n]) + # data = data.paginate(page: params[:p], per_page: params[:n]) render json: data.as_json( only: [:id, :name, :registered_at, :address, :city, :state, :postal_code, :phone, :account_credit], From 895605caab2af645a32e1fcb721d14eb48b0d10e Mon Sep 17 00:00:00 2001 From: Phoebe Date: Thu, 21 Jun 2018 15:11:26 -0700 Subject: [PATCH 10/12] updated gemfile and database.yml --- .gitignore | 5 +++++ Gemfile | 5 +++++ Gemfile.lock | 2 ++ config/database.yml | 7 ++++++- 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ce865237..c83a3c88 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,8 @@ # Ignore Byebug command history file. .byebug_history .env + +# Elastic Beanstalk Files +.elasticbeanstalk/* +!.elasticbeanstalk/*.cfg.yml +!.elasticbeanstalk/*.global.yml diff --git a/Gemfile b/Gemfile index 2483fe75..c19378a1 100644 --- a/Gemfile +++ b/Gemfile @@ -42,6 +42,11 @@ gem 'will_paginate' group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platform: :mri + gem 'sqlite3' +end + +group :production do + gem 'pg', '>=0.18', '<2.0' end group :development do diff --git a/Gemfile.lock b/Gemfile.lock index fcb76c2a..e116200d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -112,6 +112,7 @@ GEM nio4r (1.2.1) nokogiri (1.8.1) mini_portile2 (~> 2.3.0) + pg (1.0.0) pry (0.10.4) coderay (~> 1.1.0) method_source (~> 0.8.1) @@ -209,6 +210,7 @@ DEPENDENCIES listen (~> 3.0.5) minitest-reporters minitest-spec-rails + pg (>= 0.18, < 2.0) pry-rails puma (~> 3.0) rack-cors diff --git a/config/database.yml b/config/database.yml index 1c1a37ca..b62c5ff3 100644 --- a/config/database.yml +++ b/config/database.yml @@ -22,4 +22,9 @@ test: production: <<: *default - database: db/production.sqlite3 + adapter: postgresql + encoding: unicode + pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> + database: _production + username: + password: <%= ENV['_DATABASE_PASSWORD'] %> From 6c6cb7bab2d59f1eaf368f41cf2caa690eda4449 Mon Sep 17 00:00:00 2001 From: Phoebe Date: Thu, 21 Jun 2018 15:18:14 -0700 Subject: [PATCH 11/12] modified gemfile order --- Gemfile | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index c19378a1..0f338dcd 100644 --- a/Gemfile +++ b/Gemfile @@ -5,11 +5,19 @@ git_source(:github) do |repo_name| "https://github.com/#{repo_name}.git" end +group :development, :test do + gem 'sqlite3' +end + +group :production do + gem 'pg', '>=0.18', '<2.0' +end + gem 'awesome_print' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 5.0.1' # Use sqlite3 as the database for Active Record -gem 'sqlite3' +# gem 'sqlite3' # Use Puma as the app server gem 'puma', '~> 3.0' # Use SCSS for stylesheets @@ -42,12 +50,9 @@ gem 'will_paginate' group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platform: :mri - gem 'sqlite3' end -group :production do - gem 'pg', '>=0.18', '<2.0' -end + group :development do # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. From ddfe42490c9b580961feb11495683dae8e47355e Mon Sep 17 00:00:00 2001 From: Phoebe Date: Thu, 21 Jun 2018 15:43:30 -0700 Subject: [PATCH 12/12] changed pg version --- Gemfile | 4 +++- Gemfile.lock | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 0f338dcd..61b38b73 100644 --- a/Gemfile +++ b/Gemfile @@ -5,12 +5,14 @@ git_source(:github) do |repo_name| "https://github.com/#{repo_name}.git" end + + group :development, :test do gem 'sqlite3' end group :production do - gem 'pg', '>=0.18', '<2.0' + gem 'pg', '~> 0.18' end gem 'awesome_print' diff --git a/Gemfile.lock b/Gemfile.lock index e116200d..a12f4cec 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -112,7 +112,7 @@ GEM nio4r (1.2.1) nokogiri (1.8.1) mini_portile2 (~> 2.3.0) - pg (1.0.0) + pg (0.21.0) pry (0.10.4) coderay (~> 1.1.0) method_source (~> 0.8.1) @@ -210,7 +210,7 @@ DEPENDENCIES listen (~> 3.0.5) minitest-reporters minitest-spec-rails - pg (>= 0.18, < 2.0) + pg (~> 0.18) pry-rails puma (~> 3.0) rack-cors