Class | OpenStruct |
In: |
lib/extensions/ostruct.rb
|
Parent: | Object |
initialize | -> | old_initialize |
Allows the initialization of an OpenStruct with a block:
person = OpenStruct.new do |p| p.name = 'John Smith' p.gender = :M p.age = 71 end
You can still provide a hash for initialization purposes, and even combine the two approaches if you wish.
person = OpenStruct.new(:name => 'John Smith', :age => 31) do |p| p.gender = :M end
# File lib/extensions/ostruct.rb, line 35 def initialize(*args) # :yield: self old_initialize(*args) yield self if block_given? end