Advertisement
Guest User

Ruby Liquid Filter Obfuscate Email Multiple Args

a guest
Apr 16th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.67 KB | None | 0 0
  1. require 'base64'
  2. require 'uri'
  3. require 'liquid'
  4.  
  5. module ObfuscateMailAddress
  6.   def mailObfuscate(email_address, link_text)
  7.     base64Mail = Base64.strict_encode64(URI::encode(email_address))
  8.  
  9.     ouput = <<~HTML
  10.     <a href="#" data-contact="#{base64Mail}" target="_blank"
  11.        onfocus="this.href = 'mailto:' + atob(this.dataset.contact)" >
  12.       <script type="text/javascript">
  13.         document.write(atob("#{base64Mail}"));
  14.       </script>
  15.       #{link_text}
  16.     </a>
  17.     HTML
  18.   end
  19. end
  20.  
  21.  
  22. Liquid::Template.register_filter(ObfuscateMailAddress)
  23.  
  24. template = Liquid::Template.parse("{{ 'test@example.com' | mailObfuscate:'someLinkText' }}")
  25. puts template.render
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement