Method: Inline::C#reader
- Defined in:
- lib/inline.rb
#reader(method, type, member = method) ⇒ Object
Adds a reader for a C struct member wrapped via Data_Wrap_Struct. method is the ruby name to give the reader, type is the C type. Unless the C member name is overridden with member, the method name is used as the struct member. See #accessor for an example.
456 457 458 459 460 461 462 463 464 465 466 467 468 469 |
# File 'lib/inline.rb', line 456 def reader(method, type, member = method) raise "struct name not set for reader #{method} #{type}" unless @struct_name c <<-C VALUE #{method}(void) { #{@struct_name} *pointer; Data_Get_Struct(self, #{@struct_name}, pointer); return #{c2ruby type}(pointer->#{member}); } C end |