Faith Kimani's Projects
Establish the many-to-many (or has many through) association in Active Record
Understand the common methods we have access to from our Active Record associations Use the methods that Active Record gives you based on your associations
We can also use Active Record to access data across different tables by establishing associations in code, without having to write tons of code ourselves, following the idea of convention over configuration. Active Record associations make it easy to establish relationships between our models, without having to write a ton of SQL ourselves.
In this lab, we'll be working with a TV show domain model. We will have a show, network, and character model. They will be associated in the following way: An actor has many characters and has many shows through characters. A character belongs to an actor and belongs to a show. A show has many characters and has many actors through characters.
Perform CRUD operations on a SQL database table using Active Record
An Introduction to Rake and Rake tasks; understanding what Rake is used for in our Ruby programs and learning how to build a basic Rake task
Introduction and setting up of AR
Create, connect to, and manipulate a SQLite database using Active Record
Understand how Active Record abstracts powerful methods for you Identify how to inherit your models
In this lesson, you'll get practice on: Writing your own migrations ;Running a migration to create a table; Running a migration to add a column to a table; Run a migration to change something in the table
Active_record video code-along
Create, read, update, and delete elements from arrays
Get practice with common enumerable methods
Understand the typical file structure for a Sinatra application. Use the Rerun gem to help speed up development
In this lab, you'll work on creating an API in Sinatra once more — but this time, you'll also have code for a React frontend application, so you can get a taste of full-stack development! This project is separated into two applications: A React frontend, in the chatterbox-client directory A Sinatra backend, in the chatterbox-server directory
Performing control flow using conditional statements with the if/else and case/when keywords.
Using control flow to run the same line(s) of code multiple times in a loop.
Practice building a while loop
setting breakpoints to help with debugging the code using binding.pry
Practice using common enumerable methods like #each, #map, #find, and #filter with arrays
Understand how Sinatra simplifies developing web applications Receive a request in Sinatra and send different kinds of responses Create dynamic routes in Sinatra
Ruby has a hierarchy of error, or Exception, classes, all of which inherit from the Exception class. You'll become familiar with these error types: NoMethodError ArgumentError SyntaxError And these are just a few! Let's say, however, that we're creating a new feature for an application being worked on by a team of other developers. If another deve
Use keyword arguments to define an initialize method Use mass assignment to metaprogram an initialize method
creating custom error classes and using them
Practice on writing methods in Ruby to see the difference between Ruby methods and JavaScript functions.
learning how to iterate through nested hashes
I'm going to be building a 2 player CLI version of Tic Tac Toe by building a TicTacToe object. The game play will be very similar to other versions of TicTacToe.
This lab involves building a basic ORM for a Dog object. The Dog class defined in lib/dog.rb implements behaviors of a basic ORM.
Writing code that maps a Ruby class to a database table and inserts data regarding an instance of a class into a database table row
This lesson covers the basics of reading from a database table that is mapped to a Ruby object. We'll focus on how to:Build methods that read from a database table Build a Song.all class method that returns all songs from the database Build a Song.find_by_name class method that accepts one argument, a name searches the database for a song with that