diff --git a/lib/extlib/inflection.rb b/lib/extlib/inflection.rb index b722fa6..7565b1c 100644 --- a/lib/extlib/inflection.rb +++ b/lib/extlib/inflection.rb @@ -282,7 +282,7 @@ def singular(word) regex, hash = singularization_rules result.sub!(regex) {|m| hash[m]} singular_of[word] = result - return result + return result.dup end # Alias for #singular (a Railism). diff --git a/spec/inflection/singular_spec.rb b/spec/inflection/singular_spec.rb index b1d5339..c07a995 100644 --- a/spec/inflection/singular_spec.rb +++ b/spec/inflection/singular_spec.rb @@ -499,4 +499,10 @@ it "singularizes rice => rice" do "rice".singular.should == "rice" end + + it "makes dup on result" do + (singular = "calls".singular).should == "call" + singular << "should_not_be_added_to_original" + "calls".singular.should == "call" + end end