String: backport #match? from 2.4.0

This commit is contained in:
Misty De Meo 2017-05-29 17:51:38 -07:00
parent 98959f1fb9
commit ffa65c7498
No known key found for this signature in database
GPG Key ID: 76CF846A2F674B2C
3 changed files with 41 additions and 0 deletions

View File

@ -1,3 +1,6 @@
# Contains backports from newer versions of Ruby
require_relative "../vendor/backports/string"
class String
def undent
gsub(/^[ \t]{#{(slice(/^[ \t]+/) || '').length}}/, "")

View File

@ -5,6 +5,8 @@ Vendored Dependencies
* [ruby-macho](https://github.com/Homebrew/ruby-macho), version 1.1.0
* [backports](https://github.com/marcandre/backports), version 3.8.0
## Licenses:
### plist
@ -52,3 +54,27 @@ Vendored Dependencies
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> THE SOFTWARE.
### backports
> Copyright (c) 2009 Marc-Andre Lafortune
> Permission is hereby granted, free of charge, to any person obtaining
> a copy of this software and associated documentation files (the
> "Software"), to deal in the Software without restriction, including
> without limitation the rights to use, copy, modify, merge, publish,
> distribute, sublicense, and/or sell copies of the Software, and to
> permit persons to whom the Software is furnished to do so, subject to
> the following conditions:
> The above copyright notice and this permission notice shall be
> included in all copies or substantial portions of the Software.
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,12 @@
# Taken from https://github.com/marcandre/backports/blob/v3.8.0/lib/backports/2.4.0/string/match.rb
unless String.method_defined? :match?
class String
def match?(*args)
# Fiber to avoid setting $~
f = Fiber.new do
!match(*args).nil?
end
f.resume
end
end
end