Class: SmilyCli::Redaction::ScrubbedIO

Inherits:
Object
  • Object
show all
Defined in:
lib/smily_cli/redaction.rb

Overview

An IO-ish wrapper that scrubs every chunk before forwarding it.

Instance Method Summary collapse

Constructor Details

#initialize(io) ⇒ ScrubbedIO

Returns a new instance of ScrubbedIO.

Parameters:

  • io (IO)


46
47
48
# File 'lib/smily_cli/redaction.rb', line 46

def initialize(io)
  @io = io
end

Instance Method Details

#<<(string) ⇒ Object



54
55
56
57
# File 'lib/smily_cli/redaction.rb', line 54

def <<(string)
  write(string)
  self
end

#flushObject



69
70
71
# File 'lib/smily_cli/redaction.rb', line 69

def flush
  @io.flush if @io.respond_to?(:flush)
end


59
60
61
62
# File 'lib/smily_cli/redaction.rb', line 59

def print(*strings)
  strings.each { |string| write(string) }
  nil
end

#puts(*strings) ⇒ Object



64
65
66
67
# File 'lib/smily_cli/redaction.rb', line 64

def puts(*strings)
  strings.each { |string| @io.puts(Redaction.scrub(string.to_s)) }
  nil
end

#write(string) ⇒ Object



50
51
52
# File 'lib/smily_cli/redaction.rb', line 50

def write(string)
  @io.write(Redaction.scrub(string))
end