diff --git a/lib/dm-types/support/dirty_minder.rb b/lib/dm-types/support/dirty_minder.rb index 14ed939..2ceb6fe 100644 --- a/lib/dm-types/support/dirty_minder.rb +++ b/lib/dm-types/support/dirty_minder.rb @@ -137,17 +137,17 @@ def track(resource, property) # This catches any direct assignment, allowing us to hook the Hash or Array. def set(resource, value) - hook_value(resource, value) unless value.kind_of? Hooker + hook_value(resource, value) unless value.nil? || value.kind_of?(Hooker) super end # This gets called when Resource#reload is called (instead of #set). def set!(resource, value) - hook_value(resource, value) unless value.kind_of? Hooker + hook_value(resource, value) unless value.nil? || value.kind_of?(Hooker) super end - private + private def hook_value(resource, value) return if value.kind_of? Hooker