instance method OpenStruct#to_h

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

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

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



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