NUBIC/surveyor — pull request #369 by yipdw (2012-10-12 01:19:49+00:00)
Title: Create default identifiers in before_create, not in the initializer.

Setting these values in ResponseSet's initialization code has this
rather odd consequence:

>> rs = ResponseSet.new
>> rs.changed? # => true

This isn't prohibited by ActiveRecord, but I think it's wrong.
ActiveRecord model initializers should only modify the model when the
programmer requests a change:

>> rs = ResponseSet.new(:started_at => Time.now - 100)
>> rs.changed? # => true

Additionally, this mutation-on-initialization paradigm causes problems
for NCS Navigator Cases' merge tests, which expect existing models
without incoming changes to not be changed by the merge process.