Forum: Ruby on Rails ActiveRecord Warnings plugin: Problem when extending ActiveR

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
8d8978eba1922a74b91c4b361c7706cc?d=identicon&s=25 Roman Gonzalez (Guest)
on 2007-07-28 00:45
(Received via mailing list)
Hi everyone.

I'm trying to make something cool with the ActiveRecord, it consists
in adding the feature of warnings to it.
for example:

class Person < ActiveRecord::Base
  should_warn_presence_of :name

>> p =
=> false
>> p.warned?
=> true
>> p.warnings.on(:name)
=> 'should not be blank'
>> p.accept_warnings
=> true

It makes the warning about an attribute, and the only way to save it
is that you confirm that you accept the warnings.

When I'm trying to overwrite the validation functionality to handle
the warnings and the validations of the model... the overwrite doesn't

I imagine that this is  happening because they use the
"alias_method_chain :save, :validation" on the Validation module,

when I try to do this in a plugin to change the behavior of this

module ActiveRecord
  module Validations
    def save_with_validation(perform_validation = true)
      # code to handle the warnings

it doesn't get overwritten.

Maybe some dark magic is going on in the save_with_validation and the

Anyone has an idea?
thanks in advance
PD: if someone wants to see the code,  pastie can help
8d8978eba1922a74b91c4b361c7706cc?d=identicon&s=25 Roman Gonzalez (Guest)
on 2007-07-28 01:35
(Received via mailing list)
When I execute the @person.save_with_validation, it works like a
charm, but no when I invoke

probably there are to many alias_method_chain on the save method that
maintains a reference to the old method of save_with_validation. Does
that makes sense?
This topic is locked and can not be replied to.