summaryrefslogtreecommitdiff
path: root/doc/syntax/refinements.rdoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/syntax/refinements.rdoc')
-rw-r--r--doc/syntax/refinements.rdoc7
1 files changed, 4 insertions, 3 deletions
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 <code>/</code> is defined in a
refinement for Numeric <code>1 / 2</code> invokes the original Integer#/
because Integer is a subclass of Numeric and is searched before the refinements
-for the superclass Numeric. Since the method <code>/</code> is also present in child +Integer+ therefore, the method lookup never went to the superclass.
+for the superclass Numeric. Since the method <code>/</code> 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, <code>1.foo</code>
invokes that method since +foo+ does not exist on Integer.