Class: Readme::Filter

Inherits:
Object
  • Object
show all
Defined in:
lib/readme/filter.rb

Defined Under Namespace

Classes: AllowOnly, FilterArgsError, None, RejectParams

Class Method Summary collapse

Class Method Details

.for(reject: nil, allow_only: nil) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/readme/filter.rb', line 3

def self.for(reject: nil, allow_only: nil)
  if !reject.nil? && !allow_only.nil?
    raise FilterArgsError
  elsif !reject.nil?
    RejectParams.new(reject)
  elsif !allow_only.nil?
    AllowOnly.new(allow_only)
  else
    None.new
  end
end

.redact(rejected_params) ⇒ Object



15
16
17
18
19
20
# File 'lib/readme/filter.rb', line 15

def self.redact(rejected_params)
  rejected_params.each_with_object({}) do |(k, v), hash|
    # If it's a string then return the length of the redacted field
    hash[k.to_str] = "[REDACTED#{v.is_a?(String) ? " #{v.length}" : ''}]"
  end
end