[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
- 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