このマニュアルは既にメンテナンスが終了したバージョンの Ruby を対象としています。 最新版のマニュアルへ

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

instance method OpenStruct#to_h

to_h -> { Symbol => object }Ruby 2.0.0 から[permalink][rdoc][edit]
to_h {|name, value| block } -> Hash

self を各要素の名前をキー(Symbol)、要素が値のハッシュに変換して返します。

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

require 'ostruct'
data = OpenStruct.new("country" => "Australia", :capital => "Canberra")
p data.to_h # => {:country => "Australia", :capital => "Canberra" }
p data.to_h {|name, value| [name.to_s, value.upcase] }
            # => {"country" => "AUSTRALIA", "capital" => "CANBERRA" }