uniffi_bindgen 0.32.0

a multi-language bindings generator for rust (codegen and cli tooling)
Documentation
# Record type {{ rec.name() }}
class {{ rec.name()|class_name_rb }}
  attr_reader {% for field in rec.fields() %}:{{ field.name()|var_name_rb }}{% if loop.last %}{% else %}, {% endif %}{%- endfor %}

  def initialize({% for field in rec.fields() %}{{ field.name()|var_name_rb -}}:
        {%- match field.default_value() %}
        {%- when Some(_) %} {{ field|field_default_rb }}
        {%- else %}
        {%- endmatch %}
  {%- if loop.last %}{% else %}, {% endif -%}{% endfor %})
    {%- for field in rec.fields() %}
    @{{ field.name()|var_name_rb }} = {{ field.name()|var_name_rb }}
    {%- endfor %}
  end

  {%- let methods = rec.methods() %}
  {%- include "MethodImpls.rb" %}

  {%- let trait_methods = rec.uniffi_trait_methods() %}
  {%- if trait_methods.eq_eq.is_none() %}
  def ==(other)
    {%- for field in rec.fields() %}
    if @{{ field.name()|var_name_rb }} != other.{{ field.name()|var_name_rb }}
      return false
    end
    {%- endfor %}

    true
  end
  {% endif %}
  {%- include "UniffiTraitImpls.rb" %}
end