Ruby on Rails 4---A Test-Driven Approach
4.3 (56 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,530 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Ruby on Rails 4---A Test-Driven Approach to your Wishlist.

Add to Wishlist

Ruby on Rails 4---A Test-Driven Approach

Go from a Rails novice to intermediate with confidence and land a job as a developer. Write code the way the pros do it.
4.3 (56 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,530 students enrolled
Last updated 1/2016
English
Current price: $12 Original price: $100 Discount: 88% off
3 days left at this price!
30-Day Money-Back Guarantee
Includes:
  • 19 hours on-demand video
  • 5 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Do Test-Driven Development in Ruby on Rails, write e-commerce applications, do credit card processing and send emails from their Rails applications
View Curriculum
Requirements
  • Students don't have to do anything before they start the course. However, for those completely new to Rails, it will be good to go through some basic Rails tutorials first before starting this course.
Description

*** Revisions with Rails 4.2 and RSpec 3 coming soon ***

This course teaches students how to write tests and use those tests to drive the development of Ruby on Rails applications (Test-Driven development or TDD). In the process, an electronic commerce (e-commerce) application in the form of an online bookstore will be developed to demonstrate many concepts in Rails.

This course is for anybody who has played around with Ruby on Rails but does not know how to do TDD. It is also ideal for people transitioning from other languages/frameworks. If you can write "Hello World" in Rails, you can take this course. Students should take this course to learn the valuable skill of TDD and move into the realm of professional software development.

Test first development is a valuable skill that is required in the software development field. Even if you don't intend to become a professional programmer, the knowledge gained will make you a better programmer.

Many introductory courses in Rails do not teach TDD. That is unfortunate because TDD is not all that difficult and the earlier one learns it the better. By taking this course, you will be well equipped to develop applications backed by tests.

The course is project based and for this reason, students have to get their hands dirty and do all the practice exercises mentioned in the videos. The course covers writing authentication machinery from scratch, basic authorization, sending emails from the application. It also covers how to use secure random tokens to make the application more secure.

Email and secure random token are used to craft a password resetting machinery to help users reset their passwords in a secure manner. Students will learn how to integrate credit card processing into their application and charge the customers.

Students will also learn how to handle one-to-many and many-to-many relationships and, in the process learn how to handle nested-forms in Rails.

Students who take this course will be well equipped to develop rock solid web applications in Rails. The course is over thirteen (13) hours long and it can take between two weeks and a month to complete depending on the student's learning style.

Who is the target audience?
  • Anybody who knows how Ruby on Rails works but does not know who to do test-driven development. It is also ideal for people transitioning from other frameworks to Rails.
Compare to Other Ruby On Rails Courses
Curriculum For This Course
122 Lectures
19:05:07
+
Introduction
11 Lectures 35:10


Description of the split of the two parts of the course

Preview 00:52

Overview and explanation of developing locally vs. using cloud9 IDE

Overview and kickoff of local dev vs cloud9
01:48

Install ruby locally on a mac

Local installation of ruby
05:51

Installation of Rails in local development environment

Installation of Rails in local env
02:31

Installing and using git for version control

Version control with Git
03:10

Sign up for cloud based development environment

Sign up for cloud9 IDE
03:59

Getting familiar with cloud9 environment

Familiarity with cloud IDE
08:55

Getting familiar with directory tree of cloud9

Cloud9 directory familiarity
02:01

Installing Ruby on Rails in cloud IDE

Installation of Rails in cloud IDE
01:10
+
Introduction to testing
8 Lectures 40:29

Model View Controller structure of Rails Applications

MVC structure of Rails Apps
02:03

Unit, Functional and Integration tests explained

Introduction to different kinds of automated testing
01:56

Create a new Rails application in local env

Start a new rails app
03:28

Adding gems necessary to setup automated testing environment

Advanced automated testing setup
11:03

Code for the Guardfile used in Minitest

Guardfile code
00:15

Using ruby version manager and other unix processes

RVM usage and other unix processes
08:47

Write the first test for index action

First test for articles index
06:25

Build the feature to pass the test

Build articles listing page and turn test suite green
06:32
+
Setup with code repositories and production deploy
4 Lectures 18:06

Introducing items covered in section 3

Introduction to section 3
00:28

Sign up for online code repository

Sign up for bitbucket
02:41

Push repository to bitbucket to save work

Create git repo and push code to bitbucket
04:46

Sign up for an account with Heroku and deploy code to production

Signup for Heroku and deploy to production
10:11
+
Learn unit testing to build models using TDD
6 Lectures 01:07:49

Section 4 introduction of material covered

Introduction to section 4
01:00

Part 1 of 2 in example of spec and test creation for a model

Unit test example model part 1: spec and test creation
19:31

Completion of unit test example 1

Unit test example model part 2: recipe validations and completion
19:21

2nd example of model with unit tests, part 1 of 2

Unit test example for users part 1: spec and tests
08:53

Unit test example model 2, part 2 of 2 with valid email regex and validations

Unit test example for users part 2: email regex and validations
18:47

Wrapping up section 4

Section 4 conclusion
00:17
+
Implement TDD for model and wrap up unit testing
4 Lectures 25:49

Write spec and tests for creating article model

Create article model and articles table with spec and tests
13:07

Complete articles model by creating and passing tests

More tests and validations for article model
11:49

Use TDD to create users

Homework assignment: Create users tests and model
00:33

Conclusion of part 1 of course using minitest

Section 5 conclusion and handoff to part 2 of course
00:20
+
Setup of Development Environment and Writing Model Specs
8 Lectures 01:22:55
Installing Ruby and Rails
14:33

Setting up a Github Account
01:38

Complete Application Files
09:47


Test-Driven Development
03:32



Author Model Specs -- Implementation and Validation
12:51
+
Writing Authors Controller Specs
8 Lectures 01:46:46
Specs for the 'index' and 'show' actions
19:59

Specs for the 'new' action
15:36

Styling Author New Form
06:41


Specs for the 'create' action --- Unsuccessful Path
09:57

Specs for the 'edit' and 'update' actions---Successful path
17:49

Specs for the 'edit' and 'update' actions---Unsuccessful path
06:10

+
Creating Publisher
1 Lecture 14:15
Creating Publisher Model and Introducing Shoulda Matchers
14:15
+
Relationship between entitities
2 Lectures 14:06
Dealing with One-to-Many Relationship Between Publisher and Book
05:30

Dealing with Many-to-Many Relationship Between Author and Book
08:36
+
Writing Feature Tests
2 Lectures 23:36

"Creating Author" Feature Test---Failure Path
06:59
14 More Sections
About the Instructor
Mashrur Hossain
4.4 Average rating
7,106 Reviews
52,115 Students
10 Courses
Technology Professional and Entrepreneur

Hi, I'm Mashrur, I have been a technology professional for over a decade and have degrees in Computer Science and Economics

I have worked with Enterprise Software Systems throughout my career with roles played in analysis, development and management. I lead projects using both agile and waterfall methodologies and am well versed in the inner workings of the software development and delivery world.

During my career, I've realized how much I enjoyed training new hires and new team members and helping them succeed. I've dedicated a good amount of time over the last 7 years on-boarding new analysts and developers and working with them to build and maintain systems which puts me in a very unique position of knowing what new entrants to a field or subject need to succeed. I strongly believe in a focus on fundamentals and practice and not in shortcuts or gimmicks.

I'm very passionate about web application development and I prototype and build web apps in entrepreneurial pursuits. Ruby on Rails has proven to be a very strong force in this field and is especially powerful for startups looking to prototype ideas rapidly and subsequently building on that platform as the ideas catch on.

So join me for my comprehensive Ruby on Rails Developer courses as I guide you through the world of web application development using Rails and bringing your ideas to life.

Emmanuel Asante
4.2 Average rating
472 Reviews
5,149 Students
4 Courses
Mining Software Developer and Freelancer

I studied mining engineering and information systems. I completed a Diploma in Datametrics at the University of South Africa with a specialization in Information Systems.

Whilst working in the mines, I developed various mining, rock mechanics and geological applications using languages ranging from Perl, Turbo Pascal to C#, Java and Ruby. In particular, I developed a mining production information management system, as well as a pit crew performance management system, both for Thompson Creek Metals (Endako Mines), and a client management application for Snowden Mining Industry Consultants, using Ruby on Rails. I currently do freelance web development in Ruby on Rails.