[slider]

Course Outline:
  • An Introduction to Ruby
    • What is Ruby?
    • Installing Ruby
    • Executing Ruby Code
    • Getting Help
    • Dynamic Types
    • Ruby Reserved Words
    • Naming Conventions
    • Comments

 

  •  Standard Ruby Data Types
    • Numbers
    • Strings
    • Simple Input and Output
    • Converting String Input
    • Regular Expressions

 

  •  Language Components
    • The if Statement
    • The case Construct
    • Loops
    • Blocks and Iterators
    • Numeric Iterators
    • String Iterators
    • Methods

 

  •  Collections
    • Arrays
    • Array Operator Methods
    • Array Equality Operator
    • Arrays as Stacks and Queues
    • Other Useful Arrays Methods
    • Command Line Arguments
    • Hashes
    • Common Hash Methods
    • Sorting Hashes
    • Iterators with Arrays and Hashes
    • Arrays and Methods
    • Hashes and Methods
    • Symbols
    • Closures, Procs and Lambdas

 

  • Classes
    • Objects
    • OOP Vocabulary
    • Creating a New Class
    • Using Objects
    • Defining Operator Methods
    • Inheritance
    • self
    • Access Levels – Public
    • Access Levels – Private
    • Access Levels – Protected
    • Access Levels – Specification
    • Class Data and Class Methods
    • Adding Methods to Classes and Objects
    • Special Global Variables
    • Scope of Variables
    • Built-On Classes
    • Dispatching
    • Meta Programming

 

  • Input and Output
    • Reading from the Standard Input
    • Reading a Character at a Time
    • Writing to the Standard Output
    • Reading and Writing Disk Files
    • Reading Files Using Iterators
    • I/O With Command Line Commands

 

  • Exceptions
    • Introduction
    • Exception Hierarchy
    • Handling Exceptions
    • Multiple Rescue Clauses
    • Exceptions are Classes
    • ensure
    • retry
    • raise
    • Creating Your Own Exceptions
    • Catch and Throw

 

  • Modules
    • Introduction
    • Using Core Ruby Classes
    • Ruby Standard Library
    • require
    • File Organization
    • load
    • include
    • Mixins
    • Using the Comparable Module
    • Using the Enumerable Module

 

  • Test-Driven Development (TDD)
    • Using Mini Test to Test Your Ruby Classes
    • Creating and Using Fixtures
    • Factory Girl
    • Introduction to TDD
    • Mocks and Stubs
    • Refactoring
    • Basic Patterns Including Factory, Strategy and Proxy

 

  • Behavior-Driven Development (BDD)
    • What is BDD?
    • Using Cucumber
    • BDD with Cucumber

 

  • Introduction to Rails
    • Welcome to Ruby on Rails
    •  What Rails Does (and Does for You)
    • Inside MVC in Rails
    • How Separate are the MVC Layers?
    • A Guided Tour of a Small (But Working!) Rails App

 

  • Domain Modeling and ActiveRecord
    • ActiveRecord Overview
    • Domain Modeling, Ruby and Rails
    • Programming the Domain
    • Creating the Database Tables
    • The Rails Application Console

 

  • Routing and Responses
    • The Rails Request/Response Cycle
    • URL Recognition and Routing
    • Named Routes and URL Generation
    • Resource Routing
    • Creating Controllers and Views
    • Understanding ERB Templates

 

  • Forms
    • Displaying and Processing Forms in Rails

 

  • Exploring ActiveRecord Techniques
    • Getting into ActiveRecord
    • Refining AR Associations
    • Many-to-Many Associations with “Through”
    • Miscellaneous Custom Methods in the Models
    • ActiveRelation Basics

 

  • Data Validation with ActiveRecord
    • Validating ActiveRecord Objects
    • The Role of the Controller in Validating Data
    • Examples of Selected Validation Methods