Class: FFI::Tcl::PrettyStruct
- Defined in:
- lib/ffi-tk/ffi/tcl/obj.rb
Overview
Nicer introspection and some accessors.
Direct Known Subclasses
CmdProc, Interp, Obj, Obj::InternalRep::PtrAndLongRep, Obj::InternalRep::TwoPtrValue, ObjType, TclTime
Constant Summary collapse
- ACCESSOR_CODE =
<<-CODE def {name}; self[{sym}]; end def {name}=(value) self[{sym}] = value; end CODE
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.layout(*kvs) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/ffi-tk/ffi/tcl/obj.rb', line 10 def self.layout(*kvs) kvs.each_slice(2) do |key, value| eval ACCESSOR_CODE.gsub(/\{(.*?)\}/, '{name}' => key, '{sym}' => ":#{key}") end super end |
Instance Method Details
#inspect ⇒ Object
18 19 20 21 22 |
# File 'lib/ffi-tk/ffi/tcl/obj.rb', line 18 def inspect kvs = members.zip(values) kvs.map!{|key, value| "%s=%s" % [key, value.inspect] } "<%s %s>" % [self.class, kvs.join(' ')] end |