jeremyevans/sequel — pull request #478 by rosenfeld (2012-05-05 13:14:06+00:00)
Title: Make previous_changes always return a Hash with [] as default value

This avoids code like:

def data_type_was_options?
(c = (p = previous_changes) && p[:data_type]) && c.first == 'options'
end

We could write this instead, which is much clearer to read:

previous_changes[:data_type].first == 'options'

Hash.new{[]} is being used instead of Hash.new([]) for avoiding
the situation where someone might change the initial value causing
unexpected behavior.