diff --git a/doc/syntax/refinements.rdoc b/doc/syntax/refinements.rdoc index 310599d447..d57080686a 100644 --- a/doc/syntax/refinements.rdoc +++ b/doc/syntax/refinements.rdoc @@ -181,8 +181,8 @@ When not evaluated: # not activated here When defining multiple refinements in the same module inside multiple +refine+ blocks, -all refinements from the same module are active when a refined method(any of the +.to_json+ method from Example below) is -called for the first time: +all refinements from the same module are active when a refined method +(any of the +to_json+ methods from the example below) is called: module ToJSON refine Integer do @@ -227,7 +227,8 @@ Note that methods in a subclass have priority over refinements in a superclass. For example, if the method / is defined in a refinement for Numeric 1 / 2 invokes the original Integer#/ because Integer is a subclass of Numeric and is searched before the refinements -for the superclass Numeric. Since the method / is also present in child +Integer+ therefore, the method lookup never went to the superclass. +for the superclass Numeric. Since the method / is also present +in child +Integer+, the method lookup does not move up to the superclass. However, if a method +foo+ is defined on Numeric in a refinement, 1.foo invokes that method since +foo+ does not exist on Integer.