# File lib/ffi/struct.rb, line 34 def self.struct_field_class_from(type) klass_name = type.name.split('::').last code = "class StructField_\#{klass_name} < Field\n@info = \#{type}\nclass << self\nattr_reader :info\ndef size\n\#{type.size} * 8\nend\ndef align\n\#{type.align}\nend\nend\ndef get(ptr)\nself.class.info.new(ptr + @off)\nend\nend\nStructField_\#{klass_name}\n" self.module_eval(code) end