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
end
p = Person.new
p.save
=> falsep.warned?
=> truep.warnings.on(:name)
=> ‘should not be blank’p.accept_warnings
p.save
=> 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
work.
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
method
module ActiveRecord
module Validations
def save_with_validation(perform_validation = true)
# code to handle the warnings
end
end
end
it doesn’t get overwritten.
Maybe some dark magic is going on in the save_with_validation and the
alias_method_chain.
Anyone has an idea?
thanks in advance
PD: if someone wants to see the code, pastie can help
Roman.-