/modules/mod_base/filters/filter_rjust.erl

https://code.google.com/p/zotonic/ · Erlang · 42 lines · 12 code · 5 blank · 25 comment · 0 complexity · a61de03ded93dc47a6ae240b53f6cc6f 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 'rjust' filter, right justify in a fixed length field
  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_rjust).
  27. -export([rjust/3]).
  28. -author('rsaccon@gmail.com').
  29. -author('emmiller@gmail.com').
  30. rjust(undefined, _Number, _Context) ->
  31. undefined;
  32. rjust(Input, Number, Context) when is_binary(Input) ->
  33. list_to_binary(rjust(binary_to_list(Input), Number, Context));
  34. rjust(Input, Number, _Context) when is_list(Input) ->
  35. string:right(Input, z_convert:to_integer(Number));
  36. rjust(Input, _Number, _Context) ->
  37. Input.