Skip to content

Commit

Permalink
Default to_s
Browse files Browse the repository at this point in the history
  • Loading branch information
mullermp committed Jul 23, 2024
1 parent 8922cf2 commit b767cec
Show file tree
Hide file tree
Showing 7 changed files with 137 additions and 142 deletions.
60 changes: 0 additions & 60 deletions codegen/projections/rails_json/lib/rails_json/types.rb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

128 changes: 62 additions & 66 deletions codegen/projections/white_label/lib/white_label/types.rb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -191,25 +191,29 @@ private void renderToSMethod(RubyCodeWriter writer) {

writer
.openBlock("\ndef to_s")
.write("\"#<$L \"\\", fullQualifiedShapeName)
.write("'#<$L ' \\", fullQualifiedShapeName)
.indent();

while (iterator.hasNext()) {
MemberShape memberShape = iterator.next();
String key = symbolProvider.toMemberName(memberShape);
String value = "#{" + key + " || 'nil'}";
boolean memberLiteral = false;

if (memberShape.isBlobShape() || memberShape.isStringShape()) {
// Strings are wrapped in quotes
value = "\"" + value + "\"";
memberLiteral = true;
} else if (memberShape.getMemberTrait(model, SensitiveTrait.class).isPresent()) {
value = "\\\"[SENSITIVE]\\\"";
value = "[SENSITIVE]";
memberLiteral = true;
}

String quote = memberLiteral ? "'" : "\"";
if (iterator.hasNext()) {
writer.write("\"$L=$L, \"\\", key, value);
writer.write("$3L$1L=$2L, $3L \\", key, value, quote);
} else {
writer.write("\"$L=$L>\"", key, value);
writer.write("$3L$1L=$2L>$3L", key, value, quote);
}
}
writer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,19 +112,17 @@ public void render() {
}

private void renderUnionToSMethod(RubyCodeWriter writer, MemberShape memberShape) {
String fullQualifiedShapeName = settings.getModule() + "::Types::"
+ symbolProvider.toMemberName(memberShape);

writer.write("")
.openBlock("def to_s");

if (memberShape.getMemberTrait(model, SensitiveTrait.class).isPresent()) {
writer.write("\"#<$L [SENSITIVE]>\"", fullQualifiedShapeName);
} else {
writer.write("\"#<$L #{__getobj__ || 'nil'}>\"", fullQualifiedShapeName);
if (!memberShape.getMemberTrait(model, SensitiveTrait.class).isPresent()) {
return;
}

writer.closeBlock("end");
String fullQualifiedShapeName = settings.getModule() + "::Types::"
+ symbolProvider.toMemberName(memberShape);
writer
.write("")
.openBlock("def to_s")
.write("\"#<$L [SENSITIVE]>\"", fullQualifiedShapeName)
.closeBlock("end");
}

private class UnionToHValueRbsVisitor extends ShapeVisitor.Default<String> {
Expand Down
Loading

0 comments on commit b767cec

Please sign in to comment.