summaryrefslogtreecommitdiffstats
path: root/third_party/rust/uniffi_bindgen/src/bindings/ruby/templates/RecordTemplate.rb
blob: c940b3106053fef50ec0d40964e702283f5d99ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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 }}{% if loop.last %}{% else %}, {% endif %}{% endfor %})
    {%- for field in rec.fields() %}
    @{{ field.name()|var_name_rb }} = {{ field.name()|var_name_rb }}
    {%- endfor %}
  end

  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
end