Ruby Programming & Ruby on Rails

5 Day Course
Hands On

Book Now - 2 Delivery Methods Available:

Classroom Virtual Classroom Private Group - Virtual Self-Paced Online


Ruby is a high level Interpreted, Object Oriented, rapid development language deployed in many scenarios in the modern world.

This Ruby Programming & Ruby on Rails course is designed to give delegates the knowledge to develop and maintain Ruby applications and Rails based projects.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.


The delegate will learn and acquire skills as follows:

  • Declare variables and initialise them
  • Construct expressions with arithmetic, logical and relational operators
  • Use iterative type statements
  • Use conditional statements
  • Read/write files
  • Manipulate text using regular expression
  • Use and create Ruby Objects
  • Use built-in library functions
  • Work with REST and describe the purpose of REST and the Rails MVC architecture
  • Use RAILS and describe the purpose of Rails Routes
  • Create a project using Ruby and Rails
  • Create and customise a Rails Application using scaffold and the SQLite3 database

Target Audience

Developers who are required to write, maintain and test Ruby applications and projects based on Ruby on Rails.

Additional Information

  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.

Training Partners

We work with the following best of breed training partners using our bulk buying power to bring you a wider range of dates, locations and prices.


Collapse all

Introduction to Ruby (4 topics)

  • What is Ruby
  • What is it used for
  • Installing Ruby?
  • Ruby Basics - objects, regular expressions, arrays, hashes, Object Orientation

Ruby Language Elements (7 topics)

  • Variables and constants
  • Operators
  • Assignments
  • Integer, float and string formats
  • Single and double quotes
  • Here documents
  • Labs

Control Structures (6 topics)

  • Blocks and if statement
  • Boolean and range operators
  • Conditionals - if, unless, case
  • Loops - while, for in, until
  • break, next, retry and redo
  • Labs

Classes and Objects (7 topics)

  • Objects, classes and methods
  • Constructors and attributes
  • Instance and class variables
  • Local and global variables
  • Class and object methods
  • Including external files - load and require
  • Labs

Input and Output in Ruby (3 topics)

  • Opening and closing files
  • Reading from and writing to files
  • Labs

Arrays and Hashes in Ruby (7 topics)

  • Arrays and hashes
  • Building an array
  • The %w shortcut
  • Nesting arrays
  • Hash keys
  • Iterators
  • Labs

Object Orientation (10 topics)

  • Inheritance
  • Base classes and subclasses
  • What's inherited
  • Overriding
  • Abstract classes
  • Polymorphism
  • Multiple Inheritances
  • Class structure
  • Visibility
  • Labs

Classes and Object Scoping (8 topics)

  • Public, private and protected visibility
  • Singletons and defs
  • Inheritance mixins
  • Destructors and garbage collection
  • Namespaces and modules
  • Hooks
  • Freezing objects
  • Labs

Object Orientation Techniques (5 topics)

  • Clusters of classes
  • Programming and method standards
  • Formal Methods
  • Unified Modelling Language (UML)
  • Views

Strings and Regular Expressions (6 topics)

  • Meta Characters
  • Anchors, literals, character groups and counts
  • Matching in Ruby
  • Modifiers i, o, x and m
  • Pattern matching variables
  • Labs

Special Variables and Pseudo-Variables (6 topics)

  • ARGV and $0
  • Special variables
  • Environment variables
  • Pseudo-variables
  • Reserved words in Ruby
  • Labs

Exceptions (3 topics)

  • Begin and end
  • Raise and rescue
  • Throw and catch

REST (3 topics)

  • What is REST
  • RESTful architecture
  • A simple REST client

Introduction to Ruby on Rails (5 topics)

  • Install Ruby on Rails on an operating system
  • The Model-View-Controller approach
  • Rails Conventions
  • Rails project structure
  • Using RubyGems with Rails

Routing (5 topics)

  • What is a Route
  • Define routes that recognize incoming URLs
  • Use named route methods to generate URLs based on the routing scheme
  • Apply and understand the RESTful routing conventions
  • Design apps to take advantage of the REST conventions in Rails

Models (5 topics)

  • What is a Model
  • Using ActiveRecord
  • Validations
  • Associations
  • Migrations

Controllers (5 topics)

  • What is a Controller
  • Creating controllers
  • Using ActionController
  • Writing Actions
  • Filters

Views (5 topics)

  • What is a View
  • Exploring ActionView
  • Writing Views for actions
  • Partials
  • Forms

Creating a Rails Project (8 topics)

  • Creating the project
  • Project Directory structure
  • Using the Rails web server
  • Creating the initial controller
  • Modify the initial index.html file
  • Setting the Route
  • Creating a resource
  • Viewing routes with rake

Rails Scaffolding (4 topics)

  • What is Scaffolding
  • Creating a new project
  • Generating the Rail Scaffold
  • Customising the application


Familiarisation with programming concepts is useful. This knowledge can be obtained by attendance on the Introduction to Programming course.

Scheduled Dates

Please select from the dates below to make an enquiry or booking.


Different pricing structures are available including special offers. These include early bird, late availability, multi-place, corporate volume and self-funding rates. Please arrange a discussion with a training advisor to discover your most cost effective option.

Code Location Duration Price Sep Oct Nov Dec Jan Feb
Virtual Classroom (London)
5 Days $2,800

Course PDF


Share this Course


Recommend this Course