Skip to content
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

Isabel & Lauren -- Carets #17

Open
wants to merge 34 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
dfdaf7a
set up rails files
isabeldepapel Nov 6, 2017
b710b07
IS/LC: Generate models for Rental, Customer, and Movie. Create databa…
enigmagnetic Nov 6, 2017
80be712
IS/LC: Write model validations tests.
enigmagnetic Nov 6, 2017
899cffc
IS/LC: Add Rental and Customer valdiations tests.
enigmagnetic Nov 6, 2017
e0b7b33
IS/LC: Add dependent clauses to model relations. Build relationships …
enigmagnetic Nov 6, 2017
8de8036
IS/LC: Create migration to add credit column and rename registered_at…
enigmagnetic Nov 6, 2017
ee9e302
IS/LC: Add simplcove require statement to test_helper. Add overage fo…
enigmagnetic Nov 6, 2017
2b0b4af
Add validation to models. All tests passing. Wave 1 complete.
enigmagnetic Nov 6, 2017
d707ef1
add minitest reporters to test helper
isabeldepapel Nov 6, 2017
8a146c3
IS/LS add index route and index action and tests for customers contro…
isabeldepapel Nov 6, 2017
7021a34
add routes and index, show, create actions and tests for Movies contr…
isabeldepapel Nov 6, 2017
741e33c
Add available_inventory and movies_checked_out_count method skeleton …
enigmagnetic Nov 7, 2017
016104f
Add test plugs for movies_checked_out_count and available_inventory m…
enigmagnetic Nov 7, 2017
8882e59
Add serializer gem. Generate serializers for customer, movie, and ren…
enigmagnetic Nov 7, 2017
0854f9f
Add attributes to serializer files.
enigmagnetic Nov 7, 2017
3a82d50
Remove as_json code from controllers where needed. All Postman smoke …
enigmagnetic Nov 7, 2017
bca860f
Add returned column to rentals table.
enigmagnetic Nov 7, 2017
6624110
Generate rentals controller. Add set_due_date method to model.
enigmagnetic Nov 7, 2017
6b93ed2
Rollback due_date default setting from previous migration.
enigmagnetic Nov 7, 2017
c099f19
Add rentals controller and model tests. Adjust rental and movie fixtu…
enigmagnetic Nov 7, 2017
12b47b2
Adjust rentals controller and model tests. No errors at run time.:
enigmagnetic Nov 7, 2017
549a8b3
Add rentals routes for checkin, checkout, and index.
enigmagnetic Nov 7, 2017
17f286e
Add controller methods to rentals controller. Move availabile? method…
enigmagnetic Nov 7, 2017
7ececb2
fix wrong num in Customer test for rentals collection. Still have iss…
isabeldepapel Nov 7, 2017
9da0080
Edit movies controller strong params method to access object correctl…
enigmagnetic Nov 8, 2017
a9e663a
Fix merge conflict in movies controller.
enigmagnetic Nov 8, 2017
f5d02f2
add checks if movie and customer exist to rental create (checkin)
isabeldepapel Nov 8, 2017
8f01d92
implement movies_checked_out_count method in customer model
isabeldepapel Nov 8, 2017
a9cf5ff
fix error messages and status in movies controller
isabeldepapel Nov 8, 2017
cf56d31
implement rentals#overdue (index) and add fields to rental serializer
isabeldepapel Nov 8, 2017
8b765ad
add filters to simple cov to filter out mailers, jobs, and channels f…
isabeldepapel Nov 8, 2017
f370fd4
fix merge conflict in movies controller
isabeldepapel Nov 8, 2017
55d6111
add test for available_inventory in movie model
isabeldepapel Nov 8, 2017
f3660f9
update erd diagram
isabeldepapel Nov 8, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# 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

coverage/*
58 changes: 58 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
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

gem 'active_model_serializers'
# 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'
# 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

# 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]
gem 'simplecov', require: false
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]

gem 'jquery-turbolinks'
gem 'foundation-rails', '6.4.1.2'

group :development do
gem 'better_errors'
gem 'pry-rails'
gem 'binding_of_caller'
gem 'awesome_print'
gem 'rails-erd'
end

group :test do
gem 'minitest-rails'
gem 'minitest-reporters'
end
212 changes: 212 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
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)
active_model_serializers (0.10.6)
actionpack (>= 4.1, < 6)
activemodel (>= 4.1, < 6)
case_transform (>= 0.2)
jsonapi-renderer (>= 0.1.1.beta1, < 0.2)
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)
ansi (1.5.0)
arel (8.0.0)
awesome_print (1.8.0)
babel-source (5.8.35)
babel-transpiler (0.7.0)
babel-source (>= 4.0, < 6)
execjs (~> 2.0)
better_errors (2.4.0)
coderay (>= 1.0.0)
erubi (>= 1.0.0)
rack (>= 0.9.0)
binding_of_caller (0.7.3)
debug_inspector (>= 0.0.1)
builder (3.2.3)
byebug (9.1.0)
case_transform (0.2)
activesupport
choice (0.2.0)
coderay (1.1.2)
concurrent-ruby (1.0.5)
crass (1.0.2)
debug_inspector (0.0.3)
docile (1.1.5)
erubi (1.7.0)
execjs (2.7.0)
ffi (1.9.18)
foundation-rails (6.4.1.2)
railties (>= 3.1.0)
sass (>= 3.3.0, < 3.5)
sprockets-es6 (>= 0.9.0)
globalid (0.4.1)
activesupport (>= 4.2.0)
i18n (0.9.1)
concurrent-ruby (~> 1.0)
jquery-turbolinks (2.1.0)
railties (>= 3.1.0)
turbolinks
json (2.0.2)
jsonapi-renderer (0.1.3)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
loofah (2.1.1)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.0)
mini_mime (>= 0.1.1)
method_source (0.9.0)
mini_mime (0.1.4)
mini_portile2 (2.3.0)
minitest (5.10.3)
minitest-rails (3.0.0)
minitest (~> 5.8)
railties (~> 5.0)
minitest-reporters (1.1.18)
ansi
builder
minitest (>= 5.0)
ruby-progressbar
nio4r (2.1.0)
nokogiri (1.8.1)
mini_portile2 (~> 2.3.0)
pg (0.21.0)
pry (0.11.2)
coderay (~> 1.1.0)
method_source (~> 0.9.0)
pry-rails (0.3.6)
pry (>= 0.10.4)
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-erd (1.5.2)
activerecord (>= 3.2)
activesupport (>= 3.2)
choice (~> 0.2.0)
ruby-graphviz (~> 1.2)
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.2.1)
rb-fsevent (0.10.2)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
ruby-graphviz (1.2.3)
ruby-progressbar (1.9.0)
ruby_dep (1.5.0)
sass (3.4.25)
simplecov (0.15.0)
docile (~> 1.1.0)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
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-es6 (0.9.2)
babel-source (>= 5.8.11)
babel-transpiler
sprockets (>= 3.0.0)
sprockets-rails (3.2.1)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
thor (0.20.0)
thread_safe (0.3.6)
turbolinks (5.0.1)
turbolinks-source (~> 5)
turbolinks-source (5.0.3)
tzinfo (1.2.4)
thread_safe (~> 0.1)
websocket-driver (0.6.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2)

PLATFORMS
ruby

DEPENDENCIES
active_model_serializers
awesome_print
better_errors
binding_of_caller
byebug
foundation-rails (= 6.4.1.2)
jquery-turbolinks
listen (>= 3.0.5, < 3.2)
minitest-rails
minitest-reporters
pg (~> 0.18)
pry-rails
puma (~> 3.7)
rails (~> 5.1.4)
rails-erd
simplecov
spring
spring-watcher-listen (~> 2.0.0)
tzinfo-data

BUNDLED WITH
1.16.0.pre.3
6 changes: 6 additions & 0 deletions Rakefile
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
4 changes: 4 additions & 0 deletions app/channels/application_cable/channel.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module ApplicationCable
class Channel < ActionCable::Channel::Base
end
end
4 changes: 4 additions & 0 deletions app/channels/application_cable/connection.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module ApplicationCable
class Connection < ActionCable::Connection::Base
end
end
2 changes: 2 additions & 0 deletions app/controllers/application_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
class ApplicationController < ActionController::API
end
Empty file added app/controllers/concerns/.keep
Empty file.
6 changes: 6 additions & 0 deletions app/controllers/customers_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
class CustomersController < ApplicationController
def index
customers = Customer.all
render json: customers, status: :ok
end
end
34 changes: 34 additions & 0 deletions app/controllers/movies_controller.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
class MoviesController < ApplicationController
def index
movies = Movie.all
render json: movies.as_json(except: [:created_at, :updated_at]), status: :ok
end

def show
movie = Movie.find_by(id: params[:id])

if movie
render json: movie, status: :ok
else
render json: { ok: false }, status: :not_found
end
end

def create
# byebug
movie = Movie.create(movies_params)

if movie.valid?
render json: movie, status: :ok
else
render json: { errors: movie.errors.messages }, status: :bad_request
end
end

private

def movies_params
params.permit(:title, :overview, :release_date, :inventory)
# return params[:movie].permit(:title, :overview, :release_date, :inventory)
end
end
Loading