5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/initial-test-data/utilities.rb', line 5
def store(record, name, options = {})
model_name = options[:as] || record.class.model_name.singular
record_name = name.to_s
RECORD_IDS[model_name] ||= HashWithIndifferentAccess.new
if RECORD_IDS[model_name].has_key?(record_name)
raise "The key '#{record_name}' already exists " +
"for #{record.class.model_name.name}."
elsif !record.kind_of?(ActiveRecord::Base)
raise "Given object is not an instance of ActiveRecord::Base."
elsif record.new_record?
raise "Given record is not persisted yet."
else
RECORD_IDS[model_name][record_name] = record.id
end
end
|