<div dir="ltr">I do not know if this information might help you, but it might be useful for somebody else:<div><br></div><div>I am using mixer (<a href="https://github.com/opscode/mixer" target="_blank">https://github.com/opscode/mixer</a>) from the Chef guys for solving this issue when coding cowboy handlers. I have a default cowboy rest handler that implements all the default implementation. All the handlers use the default cowboy rest handler implementation if I they do not implement functions like is_authorized or forbidden.</div>


<div><br></div><div>Regards,</div><div>Federico.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 21, 2014 at 6:07 PM, Jay Nelson <span dir="ltr"><<a href="mailto:jay@duomark.com" target="_blank">jay@duomark.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">We have created a behaviour with -callbacks, but would like to simplify<br>
the implementation by providing default implementations of some of the<br>
callbacks. Using erlang:function_exported/3 to test for a user-supplied<br>
callback and instead calling a default implementation may work, but the<br>
compiler will complain for the user-defined module if no callback is<br>
supplied. What is the recommended best practice for this situation?<br>
The best I can come up with is to document the default implementation<br>
and leave it up to the user-defined module to call that function or<br>
provide its own so that the callback is always present.<br>
<br>
jay<br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><a href="http://federicocarrone.com/" target="_blank">http://federicocarrone.com/</a><br></div>
</div></div>