Forum: Ruby on Rails how to substitute my class method for rails' version

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ef0db53920b243d6758c2f6b1306df0d?d=identicon&s=25 Steve Ross (cwd)
on 2007-03-30 04:40
(Received via mailing list)
I'm putting together a plugin and it has to monkey-patch some of
ActionMailer. A good deal of AM's magic is class methods, and I'm
wanting to
do something like:

module ActionMailer
  class Base
    class << self
      def create!(method_name, *parameters)
        puts "yippee, skippee, I got here!"
        # do something useful
      end
    end
  end
end

So, I go ahead and do this, hoping to simply drop my create! in over
ActionMailer's, but in my tests, the ActionMailer code is called and not
mine.

Can anyone tell me what I'm missing here?
--
View this message in context:
http://www.nabble.com/how-to-substitute-my-class-m...
Sent from the RubyOnRails Users mailing list archive at Nabble.com.
7223c62b7310e164eb79c740188abbda?d=identicon&s=25 Xavier Noria (Guest)
on 2007-03-30 10:15
(Received via mailing list)
On Mar 30, 2007, at 4:39 AM, s.ross wrote:

>         # do something useful
> Can anyone tell me what I'm missing here?
The technique is OK, you probably knew this, so next thing to look at
is which class is being loaded later, that one is the winner.

-- fxn
Ef0db53920b243d6758c2f6b1306df0d?d=identicon&s=25 Steve Ross (cwd)
on 2007-03-30 19:09
(Received via mailing list)
Yeah, I finally got it... The way AM is constructed is somewhat
complicated so I had one detail wrong and it led me to the wrong
conclusion: that I had syntactically screwed up.

Thx,

--sr
Eae2478e81e1559b633c7621fba41298?d=identicon&s=25 Shware (Guest)
on 2007-03-30 21:14
For educational reasons :) would you mind posting the "clean" code?

Thanks!


Shawn

Steve Ross wrote:
> Yeah, I finally got it... The way AM is constructed is somewhat
> complicated so I had one detail wrong and it led me to the wrong
> conclusion: that I had syntactically screwed up.
>
> Thx,
>
> --sr
Ef0db53920b243d6758c2f6b1306df0d?d=identicon&s=25 Steve Ross (cwd)
on 2007-03-30 21:23
(Received via mailing list)
Absolutely. The real code is released in a plugin and you can browse the
repo. The code you want to see is at:

http://svn.calicowebdev.com/plugins/templated_mail...

I announced the plugin on the Haml list because it applies to templating
languages other than rhtml, but here's a redux of the announcement:

I just put a plugin together specifically to make ActionMailer play nice
with Haml. It also will work with Markaby or any other "unsupported"
markup
language.
Initially, this code was s'posed to be a Rails patch, but it keeps not
showing up in trunk, so here it is as a plugin. You can read about it
here:

http://calicowebdev.com/blog/show/10

You can get it here:

http://svn.calicowebdev.com/plugins/templated_mailer

Reader's Digest version of instructions:

Step 1: Get it using svn or 'ruby script/plugin install
http://svn.calicowebdev.com/plugins/templated_mailer'
Step 2: Add the following line to your environment.rb

ActionMailer::Base.register_template_extension('haml')

Step 3: Just stop typing "rhtml".

There is no Trac or anything, but your can email me with bugs or
comments
(and be gentle).



longinos wrote:
>> Yeah, I finally got it... The way AM is constructed is somewhat
>> complicated so I had one detail wrong and it led me to the wrong
>> conclusion: that I had syntactically screwed up.
>>
>> Thx,
>>
>> --sr
>
>

--
View this message in context:
http://www.nabble.com/how-to-substitute-my-class-m...
Sent from the RubyOnRails Users mailing list archive at Nabble.com.
This topic is locked and can not be replied to.