Lets use a real world example.
I want to monkey patch WillPaginate::LinkRenderer.to_html method.
So far I have tried:
e
module Monkeys::WillPaginateNohtml
def to_html
debugger
super
end
end
WillPaginate::LinkRenderer.send(:include, Monkeys::WillPaginateNohtml)
But somehow, debugger doesn't get passed through. Looks like the patching failed.
Any help would be appreciated, thanks!
And what about this one :-) Solutions by @shingana, @kandadaboggu will not work as there is no "super" here. You want to call original version not the super version.
module WillPaginate
class LinkRenderer
alias_method :to_html_original, :to_html
def to_html
debugger
to_html_original
end
end
end
The title of your question is misleading. Frankly, I think you probably just want to customize the will_paginate page list structure, which can be done differently.
So in your case the right way is to extend the renderer. For example load the following from an initializer (via config/initializers):
class CustomPaginationRenderer < WillPaginate::LinkRenderer
def to_html
# Your custom code, debugger etc
end
end
Then, to have your application use this renderer add the following to your config/environment.rb file:
WillPaginate::ViewHelpers.pagination_options[:renderer] = 'CustomPaginationRenderer'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With