:class_eval method is one of the way to define the class re-opening code in a more flexible manner. It works on any variable that references a class whereas re-opening a class requires defining a constant.
comments powered by Disqus
# Classic class re-opening style class String def m puts 'hello!' end end # Class eval style # The extra code is used to make the example a bit more re-usable/abstracted def add_method_to_class(the_class) the_class.class_eval do def m puts 'hello!' end end end add_method_to_class String 'abc'.m # => hello!