Method: CTypes::Struct#pretty_print
- Defined in:
- lib/ctypes/struct.rb
#pretty_print(q) ⇒ Object
:nodoc:
508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 |
# File 'lib/ctypes/struct.rb', line 508 def pretty_print(q) # :nodoc: open = if (name = self.class.type_name || self.class.name) "struct #{name} {" else "struct {" end q.group(4, open, "}") do # strip out pad fields fields = self.class.field_layout.reject do |(_, type)| type.is_a?(CTypes::Pad) end q.seplist(fields, -> { q.breakable("") }) do |name, _| names = name.is_a?(::Array) ? name : [name] names.each do |name| next if name.is_a?(CTypes::Pad) q.text(".#{name} = ") q.pp(instance_variable_get(:"@#{name}")) q.text(", ") end end end end |