Make `String#remove` and `String#remove!` accept multiple arguments

Quite often when I use `String#remove` I need to remove multiple patterns from the string at once. This change makes method handle multiple arguments without breaking backwards compatibility.

Before:

```ruby
["this", "that", /and that/].each do |pattern|
  text.remove! pattern
end
```

After:

```ruby
text.remove! "this", "that", /and that/
```
If you use the .each method there should be no performance benefit for checking .one? . Can just use the each.

Eugene

> On Oct 25, 2014, at 2:03 PM, Rafael Mendonça França <notifications@github.com> wrote:
> 
> In activesupport/lib/active_support/core_ext/string/filters.rb:
> 
> >    end
> >  
> > -  # Alters the string by removing all occurrences of the pattern. Short-hand for String#gsub!(pattern, '').
> > -  def remove!(pattern)
> > -    gsub! pattern, ''
> > +  # Alters the string by removing all occurrences of the patterns.
> > +  def remove!(*patterns)
> > +    return gsub!(patterns.first, "") if patterns.one?
> Avoid early return.
> 
> if/else is prefered for this case.
> 
> —
> Reply to this email directly or view it on GitHub.