Class: RedactedStruct

Inherits:
Struct
  • Object
show all
Includes:
Redactable
Defined in:
lib/redacted_struct.rb

Overview

A subclass of Struct that redacts members by default, and can allow some to be printed

Constant Summary collapse

VERSION =
"2.0.0"

Class Method Summary collapse

Methods included from Redactable

#allowed_members, #base_name_for_inspection, #base_type_for_pp, included, #inspect, #pretty_print

Class Method Details

.new(*name_and_members, keyword_init: nil, allowed_members: [], &block) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/redacted_struct.rb', line 12

def self.new(*name_and_members, keyword_init: nil, allowed_members: [], &block)
  super(*name_and_members, keyword_init: keyword_init, &block).tap do |struct_class|
    struct_class.class_eval do
      @allowed_members = Array(allowed_members)
    end
  end
end