in uniffi_bindgen/src/bindings/ruby/templates/RustBufferTemplate.rb [154:166]
def self.check_lower_{{ canonical_type_name }}(v)
{%- if !e.is_flat() %}
{%- for variant in e.variants() %}
if v.{{ variant.name()|var_name_rb }}?
{%- for field in variant.fields() %}
{{ "v.{}"|format(field.name())|check_lower_rb(field.as_type().borrow()) }}
{%- endfor %}
return
end
{%- endfor %}
{%- endif %}
end