class String
Public Instance Methods
panda_mask(removed_text = '[removed as it violates our terms of service]')
click to toggle source
# File lib/panda_mask.rb, line 2 def panda_mask(removed_text = '[removed as it violates our terms of service]') result = self rules = [ /[A-Za-z0-9._%+-]+\s*(\s*(\[|\()\s*at\s*(\]|\))\s*|\s*(\[|\()*@(\]|\))*\s*)\s*[A-Za-z0-9.-]+\s*(\[|\()*(\s*dot\s*|\.)(\]|\))*\s*[A-Za-z0-9]+/, #std email or any replacement with [at] or [dot] /[A-Za-z0-9._%+-]+\s*at\s*[A-Za-z0-9.-]+\s*(dot|\.)\s*[A-Za-z0-9]+/, #no symbols (ie. ) tommytcchan at asdf dot com /\+*[-_.\dO]{7,}/, /\+*[\dO]{3,}.[\dO]{3,}.[\dO]{3,}/, #ie. 12O-4567 /\+*[-_.\dO]{3,}.[\dA-Z]{4,}/, #ie. +1-800-GOTRICE ] rules.each do |rule| result = result.gsub(rule, removed_text) end result end