Class: Fiddle::CStruct
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
self,
Enumerable
|
|
Inherits: | Object |
Defined in: | ext/fiddle/lib/fiddle/struct.rb |
Overview
A base class for objects representing a C structure
Class Method Summary
-
.entity_class
accessor to
CStructEntity
Instance Method Summary
Class Method Details
.entity_class
accessor to CStructEntity
# File 'ext/fiddle/lib/fiddle/struct.rb', line 12
def CStruct.entity_class CStructEntity end
Instance Method Details
#each
[ GitHub ]# File 'ext/fiddle/lib/fiddle/struct.rb', line 16
def each return enum_for(__function__) unless block_given? self.class.members.each do |name,| yield(self[name]) end end
#each_pair
[ GitHub ]# File 'ext/fiddle/lib/fiddle/struct.rb', line 24
def each_pair return enum_for(__function__) unless block_given? self.class.members.each do |name,| yield(name, self[name]) end end
#replace(another)
[ GitHub ]# File 'ext/fiddle/lib/fiddle/struct.rb', line 40
def replace(another) if another.nil? self.class.members.each do |name,| self[name] = nil end elsif another.respond_to?(:each_pair) another.each_pair do |name, value| self[name] = value end else another.each do |name, value| self[name] = value end end self end
#to_h
[ GitHub ]#unstruct(value) (private)
[ GitHub ]# File 'ext/fiddle/lib/fiddle/struct.rb', line 58
def unstruct(value) case value when CStruct value.to_h when Array value.collect do |v| unstruct(v) end else value end end