module Stockade
Stockade
module
Constants
- VERSION
Public Class Methods
extract(text)
click to toggle source
# File lib/stockade.rb, line 39 def extract(text) lexemes(text).map do |lexeme| { lexeme.class.name.to_s.split('::').last.downcase => lexeme.value } end end
mask(text)
click to toggle source
Mask all PII in `text` with `*`
# File lib/stockade.rb, line 23 def mask(text) process(text, :mask) end
process(text, action)
click to toggle source
# File lib/stockade.rb, line 31 def process(text, action) lexemes(text).inject(text) do |mask, lexeme| prefix = lexeme.start_pos.zero? ? '' : mask[0..lexeme.start_pos - 1] postfix = mask[lexeme.end_pos..-1] "#{prefix}#{lexeme.send(action)}#{postfix}" end end
tokenize(text)
click to toggle source
# File lib/stockade.rb, line 27 def tokenize(text) process(text, :token) end
Private Class Methods
lexemes(text)
click to toggle source
# File lib/stockade.rb, line 49 def lexemes(text) Parser.call(Lexer.call(text)) end