Advanced Rails - Building Industrial-Strength Web Apps in Record Time

(Tuis.) #1

46


Chapter 2CHAPTER 2


ActiveSupport and RailTies 2


[Programs] must be written for people to read, and
only incidentally for machines to execute.
—H. Abelson and G. Sussmann
Structure and Interpretation of Computer
Programs, MIT Press, 1985


We continue in our bottom-up view of Rails by examining the pieces that form the
basis for Rails. ActiveSupport is a library that provides generic, reusable functions
that are not specific to any one part of Rails. We can use many of these methods our-
selves when writing our application code. RailTies is the other half, containing parts
that glue Rails together in a Rails-specific way. Although we will not usually use Rail-
Ties functions in our own code, it is important and instructive to examine them.


Most of this chapter is nonsequential; feel free to skip around. However, in accor-
dance with our bottom-up approach to Rails, later chapters will build on this material.


Ruby You May Have Missed


It is very easy to overlook some of Ruby’s more useful methods. The best way to find
them is to read code. Here are some of the more obscure, but helpful, ones.


Array



  • Array#can operate asArray#join(if given a string or stringlike argument); it also does
    repetition:
    [1, 2, 3]
    "; " # => "1; 2; 3"


[0] * 5 # => [0, 0, 0, 0, 0]


  • Array#packandString#unpackare useful for working with binary files.why the lucky
    stiffusesArray#packto stuff a series of numbers into a BMP-formatted sparkline graph
    without any heavy image libraries, in 13 lines of code (http://redhanded.hobix.com/
    inspect/sparklinesForMinimalists.html).

Free download pdf