Course Content
Version history of Ruby and platform variances
Version history of Rails
The Rails platform and ecosystem
Installing Ruby
Locating and installing Ruby binaries on Windows, Mac, and Linux for Development environment
Installing Ruby by compiling from source
- Why and when to do it
- Identifying pre-requisites and resolving version differences
- Working with package management tools
- Installing dependency packages
Locating core and standard libraries, and requiring modules
Installing using RVM (Ruby Version Manger)
- Running multiple versions of Ruby
- Resolving RVM requirements
- Updating the RVM system: HEAD vs. STABLE
- Using Homebrew, exploring Cellar structure, and creating formulas for Mac installs
- Using apt-get, dkpg, portage, rpm, rug, synaptic, up2date, or yum
- Best practices for local against system-wide installation
- Resolving openssl and clang / gcc compile errors
Introduction to Ruby command-line tools
Criteria for and testing successful Ruby installation Installing Ruby's help system
- Installing RI documentation
- Installing RDoc or YARD
- Building local ruby documentation per development installation
- Building HTML or ri documentation from custom Ruby code
Introduction to Ruby Gems
- Installing and removing Ruby gems
- Resolving or skipping errors (commonly rdoc)
- Resolving or skipping errors (commonly rdoc)
- Maintaining local gems
- Creating .gemspec files and exploring attributes
Creating .gemspec files and exploring attributes
- Introduction to IRB (Interactive Ruby Shell)
- Common Ruby commands
- Requiring v. loading modules
Requiring v. loading module
- Installing database servers for development, test, and production
- Installing database servers for development, test, and production
- Planning the switch from SQLite to production database servers
- Locating database drivers for Ruby and installing them using custom switches
- Drivers for MySQL, PostgreSQL, SQL Server, Oracle, DB2, and FireBird
- Drivers for MySQL, PostgreSQL, SQL Server, Oracle, DB2, and FireBird
Installing Rails
- Installing Rails as a gem
- Criteria for and testing a successful Rails installat
- Creating a new application
- Understanding Rails top-level directory structure
- Building local Rails documentation per development installation
- Building a local or shared documentation server
- WEBrick vs. Apache (or other installed server)
- Locating and killing the Rails HTTP process
- Upgrading Rails
Git
- Why GIT matters for Ruby and/or Rails development
- Git's easy branching and merging encourages experimentation
- GitHub is social networking for coders and hosts both Ruby and Rails repositories
- Using Git with Rails works well with Subversion repositories
- Installing Git from binaries
- Hooks for pre-commit and post-checkout
- Analyzing Git's logging mechanism
- Altering commits
- Best practices reset, cherry-pick, and revert
- Rebasing commits
- Cloning remote repositories
Rails Convention vs. Configuration
- Effect of different versions when creating Rails apps
- The Gemfile
- Tracking dependencies with Bundler
- Automating tasks using Rake
- Creating, running, and rolling back migrations
- Setting database parameters
- Setting environments for development, test, and production
- Using the Rails console to examine running development, test, or production applications
- Installing Rails plugins
- Upgrading a Rails app
Deploying Rails
- Switching from SQLite3 and WEBrick to Apache, MySQL, and Passenger
- Using Git, Bundler, and Capistrano for remote deployment
- Managing log files: planning rollover, archival, and even deletion