diff --git a/lib/replicate/active_record.rb b/lib/replicate/active_record.rb index 6acdcee..2d78a1f 100644 --- a/lib/replicate/active_record.rb +++ b/lib/replicate/active_record.rb @@ -269,7 +269,11 @@ def replicate_find_existing_record(attributes) replicate_natural_key.each do |attribute_name| conditions[attribute_name] = attributes[attribute_name.to_s] end - find(:first, :conditions => conditions) + if ::ActiveRecord::VERSION::MAJOR >= 4 + where(conditions).first + else + find(:first, :conditions => conditions) + end end # Update an AR object's attributes and persist to the database without @@ -303,10 +307,10 @@ def replicate_disable_callbacks(instance) def instance.run_callbacks(*args); yield if block_given?; end # AR 3.0.x - def instance._run_save_callbacks(*args); yield; end - def instance._run_create_callbacks(*args); yield; end - def instance._run_update_callbacks(*args); yield; end - def instance._run_commit_callbacks(*args); yield; end + def instance._run_save_callbacks(*args); yield if block_given?; end + def instance._run_create_callbacks(*args); yield if block_given?; end + def instance._run_update_callbacks(*args); yield if block_given?; end + def instance._run_commit_callbacks(*args); yield if block_given?; end else # AR 2.x def instance.callback(*args)