Ruby 4.1 リファレンスマニュアル

instance method Data#to_h

to_h -> HashRuby 3.2 から[permalink][rdoc][edit]
to_h {|member, value| block } -> Hash
() → Hash[Symbol, untyped]

self のメンバ名(Symbol)と値の組を Hash にして返します。

例
Customer = Data.define(:name, :address, :zip)
p Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h
# => {name: "Joe Smith", address: "123 Maple, Anytown NC", zip: 12345}

ブロックを指定すると各ペアでブロックを呼び出し、その結果をペアとして使います。

ブロック付きの例
Customer = Data.define(:name, :address, :zip)
p Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h {|member, value|
  [member, value*2]
} # => {name: "Joe SmithJoe Smith", address: "123 Maple, Anytown NC123 Maple, Anytown NC", zip: 24690}

[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び出す事を想定しています。Data.define は Data のサブクラスを作成する点に注意してください。