I was playing with some Ruby code this weekend and thought I would show some OCP with Ruby . For more of an in-depth discussion on OCP please read my previous post . Now the first thing I want to point out is that dynamic languages are naturally by default open for extension. Since the types are dynamic...