aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/fixtures.rb
diff options
context:
space:
mode:
authoreileencodes <eileencodes@gmail.com>2015-07-02 15:42:52 -0400
committereileencodes <eileencodes@gmail.com>2015-07-02 15:42:52 -0400
commiteff3a3178e93405d9af06acbb1e269489d650cb7 (patch)
tree65e66263fdd5808b8c1dde155cca5689ecde70b6 /activerecord/lib/active_record/fixtures.rb
parentbea7fee7c72a0783c87c78e98c448991feab45bf (diff)
downloadrails-eff3a3178e93405d9af06acbb1e269489d650cb7.tar.gz
rails-eff3a3178e93405d9af06acbb1e269489d650cb7.tar.bz2
rails-eff3a3178e93405d9af06acbb1e269489d650cb7.zip
Use default model enum in fixtures if not defined
After 908cfef was introduced fixtures that did not set an enum would return nil instead of the default enum value. The fixtures should assume the default if a different enum is not defined. The change checks first if the enum is defined in the fixture before setting it based on the fixture.
Diffstat (limited to 'activerecord/lib/active_record/fixtures.rb')
-rw-r--r--activerecord/lib/active_record/fixtures.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/fixtures.rb b/activerecord/lib/active_record/fixtures.rb
index b01444a090..d062dd9e34 100644
--- a/activerecord/lib/active_record/fixtures.rb
+++ b/activerecord/lib/active_record/fixtures.rb
@@ -645,7 +645,9 @@ module ActiveRecord
# Resolve enums
model_class.defined_enums.each do |name, values|
- row[name] = values.fetch(row[name], row[name])
+ if row.include?(name)
+ row[name] = values.fetch(row[name], row[name])
+ end
end
# If STI is used, find the correct subclass for association reflection