You are here: Home // Extending Rails
The DRY Principle
Podcast: Play in new window
| Download
According to The Pragmatic Programmer by Andy Hunt and Dave Thomas, “Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.”
Last week I talked about extending your Ruby on Rails application. This is because in many cases in order to avoid repeating your logic across multiple classes (models or...
Extending Ruby on Rails
Podcast: Play in new window
| Download
I’m going to be talking about the DRY principle next week. However, before I jump into that, I need to discuss how to extend Ruby on Rails so you know where you can put functionality to keep your application DRY.
There are a couple of standard places people put code that isn’t a Model, View, Controller, or Helper:
The ‘lib’ folder – This is...
Tags: classes, extending, extensions, gems, junk drawer, lib, modules, plugins, rails, ruby, ruby on rails
Rails Engines
Podcast: Play in new window
| Download
Rails Engines are a terrific way of mounting on Ruby on Rails application into another.
A Rails Engine is basically a Rails application with an Engine class installed. The main application—the application your engine is mounted into—uses the generators, rake tasks, and routes from engines automatically. As of Rails 3.1, rake tasks are provided...
009 RC RubyGems and Bundler
Podcast: Play in new window
| Download
Ruby has a package manager for its libraries or gems. It should be a concept familiar with other package managers like apt, yum, or yast.
Gems are libraries for Ruby. Many gems are built to extend Ruby on Rails and are a great way to add functionality to your application. You can see available gems at RubyGems.org. In order to install Rails, you typically...
Tags: bundle install, bundler, extensions, gemfile, gems, generators, install, libraries, rails, ruby on rails, setup

