Buenas,
El problema es que Ruby es un lenguaje interpretado, lo que quiere decir
que por mucho que ofusques el código, al final va a haber una libraría
(normalmente implementada como una extensión en C) que lo vuelva a
transformar en código legible y lo mande al intérprete del lenguaje. Por
ello un atacante siempre va a poder inyectarse en ese punto y recuperar
el código.
Algunas preguntas que conviene analizar:
- Por qué crees que es necesario proteger el código?
- De quién lo estas protegiendo?
- Cual es la probabilidad real de que a alguien le interese el código?
- Qué es lo peor que puede pasar si alguien tiene acceso a tu código?
- Y por último: cuántos recursos estas dispuesto a invertir en la
protección (... y no sería más eficiente invertirlos de otra manera que
incremente el valor para tus clientes)?
Un saludo,
Daniel