Save yourself a little typing

lazylester Mar 26, 2015

We often have a form with a select box that selects a model association. So for example to select a colour, when there is an associated Colour model, a select box will typically select :colour_id.

In this case, ActionView automatically humanizes :colour_id to produce "Colour" as the label text.

clarification of inputs

cartoloupe Feb 24, 2015 1 thank

"split(p1 = v1, p2 = v2)"

in reading the rest of the documentation, i found "p1" and "p2" to be confusing.

I think it should be:

split( pattern, limit )

Not only for strings, but arrays and hashes too

magnemg Feb 18, 2015

exclude? is defined as !include?, meaning it is the exact opposite of include? . See the source.

This means that it works for Arrays and Hashes too, as well as for Strings.

It works for Arrays:

>> [nil].exclude?(nil)
=> false
>> [nil].include?(nil)
=> true
>> ["lala"].i...

Poor man's maybe

EdvardM Feb 3, 2015

After creating a simple Maybe monad in Ruby, a colleaque noticed I could have just used try (I wasn't aware try supports blocks). I think the method was even meant for such cases.

Why I mention this? Because it clarifies the whole 'raises exception if method does not exist' thing. It should not be...

Be careful with cycles

astgtciv Feb 2, 2015

This simplistic implementation (unlike Marshal.load(Marshal.dump(object)) doesn't handle cycles in objects.

a = {}
b = {a: a}
a[:b] = b
a.deep_dup # SystemStackError: stack level too deep

Feature

hellosys Jan 28, 2015 1 thank

A default pretty printing method for general objects. It calls pretty_print_instance_variables to list instance variables.

If self has a customized (redefined) inspect method, the result of self.inspect is used but it obviously has no line break hints.

This module provides predefined pretty_print...