/modules/mod_base/filters/filter_stringify.erl

https://code.google.com/p/zotonic/ · Erlang · 46 lines · 14 code · 5 blank · 27 comment · 0 complexity · f70f0fd1d077f1e8519f042b73735794 MD5 · raw file

  1. %% @author Roberto Saccon <rsaccon@gmail.com> [http://rsaccon.com]
  2. %% @author Evan Miller <emmiller@gmail.com>
  3. %% @copyright 2008 Roberto Saccon, Evan Miller
  4. %% @doc 'stringify' filter, translate atoms and numbers to strings
  5. %%% The MIT License
  6. %%%
  7. %%% Copyright (c) 2007 Roberto Saccon, Evan Miller
  8. %%%
  9. %%% Permission is hereby granted, free of charge, to any person obtaining a copy
  10. %%% of this software and associated documentation files (the "Software"), to deal
  11. %%% in the Software without restriction, including without limitation the rights
  12. %%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  13. %%% copies of the Software, and to permit persons to whom the Software is
  14. %%% furnished to do so, subject to the following conditions:
  15. %%%
  16. %%% The above copyright notice and this permission notice shall be included in
  17. %%% all copies or substantial portions of the Software.
  18. %%%
  19. %%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  20. %%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  21. %%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  22. %%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  23. %%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  24. %%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  25. %%% THE SOFTWARE.
  26. -module(filter_stringify).
  27. -export([stringify/2]).
  28. -author('rsaccon@gmail.com').
  29. -author('emmiller@gmail.com').
  30. % Translate atoms and numbers to strings
  31. % Leave tuples as tuples.
  32. stringify(undefined, _Context) ->
  33. <<>>;
  34. stringify(In, _Context) when is_atom(In) ->
  35. atom_to_list(In);
  36. stringify(In, _Context) when is_integer(In) ->
  37. integer_to_list(In);
  38. stringify(In, _Context) when is_float(In) ->
  39. mochinum:digits(In);
  40. stringify(In, _Context) ->
  41. In.