Ruby Programming eLearning Bundle Course

Course Overview

This eLearning Bundle includes these 2 courses:

  • Ruby, Parts 1-6
  • Ruby on Rails, Parts 1-5

Course Topics

Ruby, Part 1 of 6: Introduction and Classes – 2:00 hours

Join programming expert Jordan Hudgens for an introduction to the Ruby programming language. In this course, he will demonstrate what makes Ruby unique as a language and how it can be leveraged to build robust applications. Hudgens will also provide a step-by-step guide on how to install Ruby on various operating systems as well teach you best practices to ensure that you are building programs that fall within guidelines of the wider Ruby development community.

 

Ruby, Part 2 of 6: Variables and Data Structures – 6:55 hours

In this course, Ruby expert Jordan Hudgens examines the basic building blocks of the program and dives deep on its various data structures such as arrays. He will also discuss how Ruby uses dynamic typecasting and teach you how to use the struct class to encapsulate data with methods and behaviors. With a better understanding of data structures in place, Hudgens will then walk you through how to automate tasks in Ruby such as calculating sums.

 

Ruby, Part 3 of 6: Input/Output and Gems – 1:26 hours

This course covers some practical components of Ruby development including how to work with its file system. Ruby expert Jordan Hudgens will explore methods that enable Ruby programs to generate files and dynamically add data to preexisting files. Later, to help you practically apply this knowledge, Hudgens will guide you through incorporating Ruby gems into an application and also building a Ruby program that connects to an outside API and works with the data which is sent back.

 

Ruby, Part 4 of 6: Conditionals and Blocks – 1:48 hours

n this course, Ruby expert Jordan Hudgens dives into the topics of conditionals and blocks by exploring the various mechanisms for implementing this type of behavior into an application. He will discuss working with both standard and nested conditionals as well as give a step-by-step guide for using switch statements. Additionally, Hudgens will take a comprehensive look at blocks, giving a step-by-step demonstration on how they are used including reviewing how popular frameworks use them.

 

Ruby, Part 5 of 6: Procs and Metaprogramming – 1:20 hours

Join Ruby expert Jordan Hudgens as he takes a look at two advanced topics in Ruby development: Procs and Metaprogramming. In addition to building your own procs and lambdas, the sister class of procs, Hudgens will also review a production Ruby on Rails application using lambdas to create custom database query scopes. Hudgens will walk through a practical understanding of metaprogramming and building out a full Ruby program, as well as cover the define_method process which allows classes to be written more efficiently.

 

Ruby, Part 6 of 6: Error Handling, Frameworks, and Algorithms – 1:43 hours

Ruby expert Jordan Hudgens covers error handling, web frameworks, and algorithms in Ruby in this course. He will begin with a walk through the syntax for basic error handing, emphasizing best practices, followed by a review of the two most popular web frameworks for Ruby: Sinatra and Rails. Hudgens will show how to build two web applications, with the Rails app being a functional blog that includes full CRUD features, and then walk through implementing popular algorithms in Ruby and building the insertion sort and quicksort algorithms. Finally, he will discuss creating a binary search program.

 

Ruby on Rails, Part 1 of 5: Intro to Development – 1:05 hours

In this course we will start creating a full featured web application using the Ruby on Rails framework, and in order to accomplish this we will be leveraging a number of tools in addition to Rails, such as RSpec for automated testing, Heroku for easily deploying to the Internet, and then GitHub for our version control management system. This section will conclude with us creating the app and pushing the code to a centralized Github repository, along with learning how to use the Unix terminal commands.

 

Ruby on Rails, Part 2 of 5: Best Practices – 1:24 hours

To begin this course we will cover how the model view controller design pattern works in the Ruby on Rails framework, specifically discussing the rolls and best practices associated with each element. We will walk through the file system so you can become familiar with items such as the respective roles of our config directory, how the asset management system is structured, plus many other items, and lastly, how we utilize the Gemfile. The Ruby on Rails development stack works very closely with version control management systems such as Github and we will cover what Git is, why it is important and how to implement it into our application. Routing is one of the core fundamentals of any web application, and we will walk through how to setup a root homepage. We will finish up this course by building a scaffold into our application that interacts with our database, has form elements for the user, renders a database query on the page and is tested using RSpec.

 

Ruby on Rails, Part 3 of 5: Data, Design, and Deploy – 1:46 hours

In this course we will review all of the available data types utilized by the ActiveRecord module, how to configure relationships between tables, adding and removing columns, and how to perform database migrations. One of the best ways of connecting to a database in Rails is the Rails console. It’s especially adept at showing if relationships are setup properly in an application and the Rails console allows for quickly analyzing how methods will interact with the data. Next we will deploy our application to the web by leveraging the Heroku platform, including the production confirmation requirements and having it display your application properly. Then we will be walking through a number of key features of our application, including how to add design and style elements into our program by integrating the Twitter Bootstrap framework. After integrating some style elements we will build out two major features for our CRM program: a file uploader and a file downloader.

 

Ruby on Rails, Part 4 of 5: Search and Sorting – 1:04 hours

This course covers a wide range of feature build outs, including some advanced development techniques, such as creating custom classes to handle a date range search feature. In being able to create custom classes to handle some of the non trivial aspects of the application, you will learn some key Rails fundamentals such as how to call the custom class in a controller and how to manage the data flow from other models. Next we will build a fully functional search engine into our application by leveraging the built in Postgres full text search functionality. As our program’s data begins to grow, being able to quickly sort the data queries in the application view would be a very helpful feature, and with that in mind we will walk through how to build a number of custom Rails methods that will let users toggle the sort order in one of our table’s columns simply by clicking on it. Lastly we will integrate pagination into our program, which will improve our page load performance, manage the user interface and allow for an improved level of control in regards to what is rendered on the page.

 

Ruby on Rails, Part 5 of 5: Administration and API – 1:11 hours

In this course we will walk through the process of building an authentication system into our application, normally this would be a very challenging process due to all of the requirements associated with an enterprise level user management system, however we will be leveraging the Devise gem, which will provide all of the functionality that we’re going to need. Next we will integrate several authorization mechanisms that show and hide elements on the view depending on whether a user is signed in or not. We will also be integrating the popular active admin gem to generate a full administrator dashboard, including a variety of configuration changes that need to be made in order to have the gem work in conjunction with other gems in the Gemfile of our project. As our final feature build for the project we will walk through how to create an API for your application and have it respond to both JSON and XML data requests. To complete the section I’ll discuss and name some additional resources and popular gems that can be used in your Ruby on Rails educational journey..