Cldr.Number custom formatter

It’s really cool that you decided to make this possible.

I wonder if maybe there is a more extensible approach?

What comes to mind is a compile-time configuration option :exclude_protocol_implementations with default []. If set to, e.g. [Gringotts.Money, Inspect, Jason.Encoder] then these 3 protocol implementations would not be defined.

For my case, I would then only need exclude_protocol_implementations: [Phoenix.HTML.Safe].

I think this approach will be easier for future customizations. Also the name exclude_protocol_implementations provides immediate insight into what is happening, even which file in the source code to check.

I left some comments on the commit, to illustrate what I’m thinking.

Thanks again!

P.S. This is not urgent at all. We are using a show_money view helper until something more elegant is possible. :+1: