forked from AdaGold/video-store-api
-
Notifications
You must be signed in to change notification settings - Fork 25
Ari/Brenda- Octos- VideoApiMuncher #20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
arrriiii
wants to merge
67
commits into
Ada-C9:master
Choose a base branch
from
arrriiii:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
67 commits
Select commit
Hold shift + click to select a range
ceecee5
initial rails app
arrriiii e3d1824
Generation of models for movie, rental and customer. Also controllers…
brendarios e18a839
new routes and controller actions for movies and customer
arrriiii 3c2ff31
fixed routes for customer and movies
arrriiii c1c091f
Seeded customer and movie data
arrriiii b6021a4
Added index method to customers and movies controllers.
brendarios 2519d2c
Tests for customers index passing.
brendarios 60bf620
Test for movies index passing.
brendarios b9b4255
new fixture data for customer and movies
arrriiii 6cdce70
added test for customer model
arrriiii ce74ffb
Tests for models movie and rental. Also some work in controllers.
brendarios a379e15
added reference to rental model
arrriiii abd2c90
updated rental table
arrriiii 5a7dd3a
new test for customer rental relationship
arrriiii 9e23773
Added tests for relations for movie and rental.
brendarios 8f9625b
Merge branch 'master' of https://github.com/Ari-1/VideoStoreAPI
brendarios 29ac852
changed data type of release date to string
arrriiii 2270aa2
Added create action to movies controller.
brendarios 7bc7d21
Merge branch 'master' of https://github.com/Ari-1/VideoStoreAPI
brendarios ce86b8c
added column to customer and movies
arrriiii f50ee68
Added column available inventory to seed file of movies.
brendarios ea19f4f
updated default values
arrriiii 66d3e3d
Merge branch 'master' of https://github.com/Ari-1/VideoStoreAPI
brendarios 4acb1f3
fixed null value for movies available inventory
arrriiii 47f4092
updated checkout method for rentals
arrriiii e27d93b
working on movies controller.
brendarios ff842f3
Merge branch 'master' of https://github.com/Ari-1/VideoStoreAPI
brendarios da78dcb
Checkout action for the rentals controller.
brendarios cef122b
merging rental changes
arrriiii 305f72f
Added checkout to schema and change type of due date
brendarios 5d5086a
merging errors
arrriiii 0de055c
updated merging errors
arrriiii 7b34d91
Refactored rentals controller checkout action .
brendarios dd371a1
Solving merge conflicts.
brendarios 1ffa445
working on checkin and checkout for rentals
arrriiii b70e754
Removed required(movie) from params.
brendarios 7557e73
Solving conflicts
brendarios 6abcb56
updated attributes for movie inventory
arrriiii 2a34970
Rental checkin method, added find by customer id and movie id
arrriiii 5323a71
Working on rentals/checkin controller.
brendarios 867c922
Solving merge conflicts
brendarios 2d55f74
Added method to movies check out count in rentals controller.
brendarios 31da2bc
removed pry/passing smoke tests for wave 3
arrriiii 3373c27
working on test for controllers
arrriiii e01cf0a
Added tests for create action of movies controller, still one failure.
brendarios bea3901
Solving merge conflicts.
brendarios 437d4b4
passing movie controller test
arrriiii 68ff1cc
Refactoring movies controller.
brendarios 9948b01
Solving merging conflicts on movies controller test.
brendarios 1775c5f
added checked out column to rentals
arrriiii 9104395
new rental checked_out boolean value
arrriiii 304b9af
added helper methods to rental controller
arrriiii 07c70aa
new test for rental model
arrriiii 4345cde
refactored testing for rental model
arrriiii 660c297
updated default value for rental status
arrriiii 84c74a9
new default settings for movie and customer
arrriiii 4e086ca
removing pry
arrriiii 937a8f1
Added couple of test for customers and movies controllers.
brendarios 67dafec
Working on rentals controller.
brendarios d9e6fc3
Solving merge conflicts
brendarios 9593838
updating test for rentals
arrriiii 022176e
update rentals
arrriiii d9bd22f
Working on the rentals controller tests.
brendarios 072504d
solving merge conflicts
brendarios 96ab595
Tests and rentals controller worked.
brendarios a9d9832
updated rental controller with instance variable
arrriiii 491125e
Added comment to do in rentals controller.
brendarios File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| # 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 | ||
|
|
||
| .byebug_history |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| 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.6' | ||
| # Use postgresql as the database for Active Record | ||
| gem 'pg', '>= 0.18', '< 2.0' | ||
| # Use Puma as the app server | ||
| gem 'puma', '~> 3.7' | ||
| # 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', '~> 4.0' | ||
| # Use ActiveModel has_secure_password | ||
| # gem 'bcrypt', '~> 3.1.7' | ||
|
|
||
| # Use Capistrano for deployment | ||
| # gem 'capistrano-rails', group: :development | ||
|
|
||
| # Use Rack CORS for handling Cross-Origin Resource Sharing (CORS), making cross-origin AJAX possible | ||
| # gem 'rack-cors' | ||
|
|
||
| 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] | ||
| end | ||
|
|
||
| group :development do | ||
| 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] | ||
|
|
||
| group :development, :test do | ||
| gem 'pry-rails' | ||
| end | ||
|
|
||
| group :test do | ||
| gem 'minitest-rails' | ||
| gem 'minitest-reporters' | ||
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,159 @@ | ||
| GEM | ||
| remote: https://rubygems.org/ | ||
| specs: | ||
| actioncable (5.1.6) | ||
| actionpack (= 5.1.6) | ||
| nio4r (~> 2.0) | ||
| websocket-driver (~> 0.6.1) | ||
| actionmailer (5.1.6) | ||
| actionpack (= 5.1.6) | ||
| actionview (= 5.1.6) | ||
| activejob (= 5.1.6) | ||
| mail (~> 2.5, >= 2.5.4) | ||
| rails-dom-testing (~> 2.0) | ||
| actionpack (5.1.6) | ||
| actionview (= 5.1.6) | ||
| activesupport (= 5.1.6) | ||
| rack (~> 2.0) | ||
| rack-test (>= 0.6.3) | ||
| rails-dom-testing (~> 2.0) | ||
| rails-html-sanitizer (~> 1.0, >= 1.0.2) | ||
| actionview (5.1.6) | ||
| activesupport (= 5.1.6) | ||
| builder (~> 3.1) | ||
| erubi (~> 1.4) | ||
| rails-dom-testing (~> 2.0) | ||
| rails-html-sanitizer (~> 1.0, >= 1.0.3) | ||
| activejob (5.1.6) | ||
| activesupport (= 5.1.6) | ||
| globalid (>= 0.3.6) | ||
| activemodel (5.1.6) | ||
| activesupport (= 5.1.6) | ||
| activerecord (5.1.6) | ||
| activemodel (= 5.1.6) | ||
| activesupport (= 5.1.6) | ||
| arel (~> 8.0) | ||
| activesupport (5.1.6) | ||
| concurrent-ruby (~> 1.0, >= 1.0.2) | ||
| i18n (>= 0.7, < 2) | ||
| minitest (~> 5.1) | ||
| tzinfo (~> 1.1) | ||
| ansi (1.5.0) | ||
| arel (8.0.0) | ||
| builder (3.2.3) | ||
| byebug (10.0.2) | ||
| coderay (1.1.2) | ||
| concurrent-ruby (1.0.5) | ||
| crass (1.0.4) | ||
| erubi (1.7.1) | ||
| ffi (1.9.23) | ||
| globalid (0.4.1) | ||
| activesupport (>= 4.2.0) | ||
| i18n (1.0.1) | ||
| concurrent-ruby (~> 1.0) | ||
| 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.2.2) | ||
| crass (~> 1.0.2) | ||
| nokogiri (>= 1.5.9) | ||
| mail (2.7.0) | ||
| mini_mime (>= 0.1.1) | ||
| method_source (0.9.0) | ||
| mini_mime (1.0.0) | ||
| mini_portile2 (2.3.0) | ||
| minitest (5.11.3) | ||
| minitest-rails (3.0.0) | ||
| minitest (~> 5.8) | ||
| railties (~> 5.0) | ||
| minitest-reporters (1.2.0) | ||
| ansi | ||
| builder | ||
| minitest (>= 5.0) | ||
| ruby-progressbar | ||
| multi_json (1.13.1) | ||
| nio4r (2.3.1) | ||
| nokogiri (1.8.2) | ||
| mini_portile2 (~> 2.3.0) | ||
| pg (1.0.0) | ||
| pry (0.11.3) | ||
| coderay (~> 1.1.0) | ||
| method_source (~> 0.9.0) | ||
| pry-rails (0.3.6) | ||
| pry (>= 0.10.4) | ||
| puma (3.11.4) | ||
| rack (2.0.5) | ||
| rack-test (1.0.0) | ||
| rack (>= 1.0, < 3) | ||
| rails (5.1.6) | ||
| actioncable (= 5.1.6) | ||
| actionmailer (= 5.1.6) | ||
| actionpack (= 5.1.6) | ||
| actionview (= 5.1.6) | ||
| activejob (= 5.1.6) | ||
| activemodel (= 5.1.6) | ||
| activerecord (= 5.1.6) | ||
| activesupport (= 5.1.6) | ||
| bundler (>= 1.3.0) | ||
| railties (= 5.1.6) | ||
| sprockets-rails (>= 2.0.0) | ||
| rails-dom-testing (2.0.3) | ||
| activesupport (>= 4.2.0) | ||
| nokogiri (>= 1.6) | ||
| rails-html-sanitizer (1.0.4) | ||
| loofah (~> 2.2, >= 2.2.2) | ||
| railties (5.1.6) | ||
| actionpack (= 5.1.6) | ||
| activesupport (= 5.1.6) | ||
| method_source | ||
| rake (>= 0.8.7) | ||
| thor (>= 0.18.1, < 2.0) | ||
| rake (12.3.1) | ||
| rb-fsevent (0.10.3) | ||
| rb-inotify (0.9.10) | ||
| ffi (>= 0.5.0, < 2) | ||
| ruby-progressbar (1.9.0) | ||
| ruby_dep (1.5.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) | ||
| tzinfo (1.2.5) | ||
| thread_safe (~> 0.1) | ||
| websocket-driver (0.6.5) | ||
| websocket-extensions (>= 0.1.0) | ||
| websocket-extensions (0.1.3) | ||
|
|
||
| PLATFORMS | ||
| ruby | ||
|
|
||
| DEPENDENCIES | ||
| byebug | ||
| jbuilder (~> 2.5) | ||
| listen (>= 3.0.5, < 3.2) | ||
| minitest-rails | ||
| minitest-reporters | ||
| pg (>= 0.18, < 2.0) | ||
| pry-rails | ||
| puma (~> 3.7) | ||
| rails (~> 5.1.6) | ||
| spring | ||
| spring-watcher-listen (~> 2.0.0) | ||
| tzinfo-data | ||
|
|
||
| BUNDLED WITH | ||
| 1.16.1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| module ApplicationCable | ||
| class Channel < ActionCable::Channel::Base | ||
| end | ||
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| module ApplicationCable | ||
| class Connection < ActionCable::Connection::Base | ||
| end | ||
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| class ApplicationController < ActionController::API | ||
| # protect_from_forgery with: :null_session | ||
| end |
Empty file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| class CustomersController < ApplicationController | ||
|
|
||
| def index | ||
| customers = Customer.all | ||
| # render :json => customers | ||
| render(json: customers.as_json(only: [:id, :name, :registered_at, :postal_code, :phone, :movies_checked_out_count]), status: :ok) | ||
| end | ||
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| class MoviesController < ApplicationController | ||
|
|
||
| def index | ||
| movies = Movie.all | ||
| # render :json => movies | ||
| render(json: movies.as_json(only: [:id, :title, :release_date]), status: :ok) | ||
| end | ||
|
|
||
| def show | ||
| movie = Movie.find_by(id: params[:id]) | ||
|
|
||
| if movie.nil? | ||
| render json: { | ||
| "errors": { | ||
| "id": ["No movie with id #{params[:id]}"] | ||
| } | ||
| }, status: :not_found | ||
| else | ||
| render(json: movie.as_json(only: [:title, :overview, :release_date, :inventory, :available_inventory]), status: :ok) | ||
| end | ||
| end | ||
|
|
||
| def create | ||
| movie = Movie.new(movie_params) | ||
| if movie.save | ||
| #success | ||
| render json: { id: movie.id }, status: :ok | ||
| else | ||
| #failure | ||
| render json: {errors: movie.errors.messages }, status: :bad_request | ||
| end | ||
| end | ||
|
|
||
| private | ||
| def movie_params | ||
| params.permit(:title, :overview, :release_date, :inventory, :available_inventory) | ||
| end | ||
|
|
||
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| class RentalsController < ApplicationController | ||
|
|
||
| # TODO: To make this happen automatically | ||
| def checkout | ||
| @rental = Rental.new(rental_params) | ||
| @rental.check_date | ||
|
|
||
| if @rental.save | ||
| @rental.build_rental | ||
| render json: rental_params, status: :ok | ||
| else | ||
| #failure | ||
| render json: {errors: @rental.errors.messages }, status: :bad_request | ||
| end | ||
| end | ||
|
|
||
|
|
||
| def check_in | ||
| @rental = Rental.find_by(customer_id: params[:customer_id], movie_id: params[:movie_id]) | ||
|
|
||
| if @rental.nil? | ||
| render json: { | ||
| "errors": { | ||
| "id": ["No rental with id #{params[:id]}"] | ||
| } | ||
| }, status: :not_found | ||
| else | ||
| @rental.build_return | ||
| render(json: @rental.as_json(only: [:customer_id, :movie_id]), status: :ok) | ||
| end | ||
| end | ||
|
|
||
| private | ||
| def rental_params | ||
| params.permit(:customer_id, :movie_id) | ||
| end | ||
| end | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| class ApplicationJob < ActiveJob::Base | ||
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| class ApplicationMailer < ActionMailer::Base | ||
| default from: 'from@example.com' | ||
| layout 'mailer' | ||
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| class ApplicationRecord < ActiveRecord::Base | ||
| self.abstract_class = true | ||
| end |
Empty file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| class Customer < ApplicationRecord | ||
|
|
||
| has_many :rentals | ||
| has_many :movies, :through => :rentals | ||
|
|
||
| validates :name, presence: true | ||
|
|
||
| after_initialize :default_movie_count | ||
|
|
||
| private | ||
| def default_movie_count | ||
| self.movies_checked_out_count ||= self.movies_checked_out_count = 0 | ||
| end | ||
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| class Movie < ApplicationRecord | ||
| has_many :rentals | ||
| has_many :customers, :through => :rentals | ||
|
|
||
| validates :title, presence: true | ||
|
|
||
| after_initialize :default_inventory | ||
|
|
||
|
|
||
| private | ||
| def default_inventory | ||
| self.available_inventory ||= self.inventory | ||
| end | ||
| end |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since you're not rendering views, you shouldn't need instance variables in your controllers.