Class: GraphWeaver::Testing::Anonymizer
- Inherits:
-
Object
- Object
- GraphWeaver::Testing::Anonymizer
- Includes:
- Selection
- Defined in:
- lib/graph_weaver/testing/cassette.rb
Overview
Rewrites a recorded response through the Values engine: same shape, fake values. Enums, booleans, __typename, and null positions are preserved; ids map consistently so relationships survive.
Instance Method Summary collapse
- #anonymize(query, data) ⇒ Object
-
#initialize(schema:, seed: nil, mode: nil) ⇒ Anonymizer
constructor
A new instance of Anonymizer.
Methods included from Selection
#applies?, #each_field, #load_operation, #operation_root_type
Constructor Details
#initialize(schema:, seed: nil, mode: nil) ⇒ Anonymizer
Returns a new instance of Anonymizer.
157 158 159 160 |
# File 'lib/graph_weaver/testing/cassette.rb', line 157 def initialize(schema:, seed: nil, mode: nil) @schema = schema @values = Values.new(seed:, mode:) end |
Instance Method Details
#anonymize(query, data) ⇒ Object
162 163 164 165 166 |
# File 'lib/graph_weaver/testing/cassette.rb', line 162 def anonymize(query, data) operation = load_operation(query) object_value(operation_root_type(operation), operation.selections, data) end |