Class: LangsmithrbRails::CustomRedactor
- Inherits:
-
Object
- Object
- LangsmithrbRails::CustomRedactor
- Defined in:
- lib/generators/langsmithrb_rails/privacy/templates/custom_redactor.rb
Overview
Custom redactor for PII in LangSmith traces
Instance Method Summary collapse
-
#initialize(config = {}) ⇒ CustomRedactor
constructor
Initialize the redactor with configuration.
-
#redact(text) ⇒ String
Redact PII from text.
-
#redact_data(data) ⇒ Hash, Array
Redact PII from a hash or array.
Constructor Details
#initialize(config = {}) ⇒ CustomRedactor
Initialize the redactor with configuration
8 9 10 11 |
# File 'lib/generators/langsmithrb_rails/privacy/templates/custom_redactor.rb', line 8 def initialize(config = {}) @config = config || {} @base_redactor = LangsmithrbRails::Redactor.new(config) end |
Instance Method Details
#redact(text) ⇒ String
Redact PII from text
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/generators/langsmithrb_rails/privacy/templates/custom_redactor.rb', line 16 def redact(text) return text unless text.is_a?(String) # First apply the base redactor result = @base_redactor.redact(text) # Then apply custom patterns custom_patterns.each do |pattern_name, pattern| result = apply_pattern(result, pattern_name, pattern) end result end |
#redact_data(data) ⇒ Hash, Array
Redact PII from a hash or array
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/generators/langsmithrb_rails/privacy/templates/custom_redactor.rb', line 33 def redact_data(data) case data when String redact(data) when Hash redact_hash(data) when Array redact_array(data) else data end end |