I’m trying to monkey patch active record (and more specifically the
MySQL
connection adapter) for a rails 3 app. Here is my attempt:
https://gist.github.com/849849
It doesn’t work. When I try to “rake db:migrate” or open a rails console
or
otherwise load the app, I get the following error:
…/gems/activesupport-3.0.3/lib/active_support/core_ext/module/aliasing.rb:31:in
alias_method': undefined method
value_to_boolean’ for class
`ActiveRecord::ConnectionAdapters::Column’ (NameError)
So, clearly the active record classes (and/or these specific
classes/parts
of active record) aren’t loaded when this initializer runs. So, my
question
is, given what I’m trying to do, what is the correct or most common way
to
do this kind of monkey patching? I’m not familiar with the rails 3 way
of
things but remember hearing/reading a lot about a more standardized way
(API) for configuring/patching/tweaking rails. Is there an idiomatic way
to
do this properly and at the right time in the application load sequence
(so
I don’t have to have my initializer force-preload these AR classes)?
Thanks in advance for any input!