As of now, any SPICE exception causes rb_raise() from within C to signal the error. This isn't a very good practice due to the call bypassing any memory cleanup code subsequent to the rb_raise() statement, as pointed out by Will Levine here.
SpiceRub uses NMatrix very frequently to represent Cartesian vectors and state/position arrays, so this could be a potential cause of memory problems in the future. I would like to switch to an error code system where the C function returns an error code which is parsed in Ruby as suggested in the above thread. There might possibly be a better way to this.
As of now, any SPICE exception causes rb_raise() from within C to signal the error. This isn't a very good practice due to the call bypassing any memory cleanup code subsequent to the rb_raise() statement, as pointed out by Will Levine here.
SpiceRub uses NMatrix very frequently to represent Cartesian vectors and state/position arrays, so this could be a potential cause of memory problems in the future. I would like to switch to an error code system where the C function returns an error code which is parsed in Ruby as suggested in the above thread. There might possibly be a better way to this.