From ffa65c749856d525edef6029d774de2486d1cccd Mon Sep 17 00:00:00 2001 From: Misty De Meo Date: Mon, 29 May 2017 17:51:38 -0700 Subject: [PATCH 1/3] String: backport #match? from 2.4.0 --- Library/Homebrew/extend/string.rb | 3 +++ Library/Homebrew/vendor/README.md | 26 +++++++++++++++++++++ Library/Homebrew/vendor/backports/string.rb | 12 ++++++++++ 3 files changed, 41 insertions(+) create mode 100644 Library/Homebrew/vendor/backports/string.rb diff --git a/Library/Homebrew/extend/string.rb b/Library/Homebrew/extend/string.rb index 809242db91..ae7a209dbf 100644 --- a/Library/Homebrew/extend/string.rb +++ b/Library/Homebrew/extend/string.rb @@ -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}}/, "") diff --git a/Library/Homebrew/vendor/README.md b/Library/Homebrew/vendor/README.md index b408631c7a..79b118ce4f 100644 --- a/Library/Homebrew/vendor/README.md +++ b/Library/Homebrew/vendor/README.md @@ -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. + diff --git a/Library/Homebrew/vendor/backports/string.rb b/Library/Homebrew/vendor/backports/string.rb new file mode 100644 index 0000000000..6299a3fb48 --- /dev/null +++ b/Library/Homebrew/vendor/backports/string.rb @@ -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 From 4ffca8faa2fb055ec5a8329496fe0bfe532f223a Mon Sep 17 00:00:00 2001 From: Misty De Meo Date: Mon, 29 May 2017 16:35:30 -0700 Subject: [PATCH 2/3] cask_loader: fix return types for .can_load? --- Library/Homebrew/cask/lib/hbc/cask_loader.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cask/lib/hbc/cask_loader.rb b/Library/Homebrew/cask/lib/hbc/cask_loader.rb index 1b231a097e..a0c44d9b41 100644 --- a/Library/Homebrew/cask/lib/hbc/cask_loader.rb +++ b/Library/Homebrew/cask/lib/hbc/cask_loader.rb @@ -54,7 +54,7 @@ module Hbc class FromURILoader < FromPathLoader def self.can_load?(ref) - ref.to_s =~ ::URI.regexp + ref.to_s.match?(::URI.regexp) end def initialize(url) @@ -80,7 +80,7 @@ module Hbc class FromTapLoader < FromPathLoader def self.can_load?(ref) - ref.to_s =~ HOMEBREW_TAP_CASK_REGEX + ref.to_s.match?(HOMEBREW_TAP_CASK_REGEX) end def initialize(tapped_name) From 087035868aece3e4836ec69a72a0e3fdf96c64c0 Mon Sep 17 00:00:00 2001 From: Misty De Meo Date: Mon, 29 May 2017 16:36:01 -0700 Subject: [PATCH 3/3] AbstractCommand: fix return type of .abstract? --- Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb b/Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb index 7470e36dbf..cdb7f5ec83 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/abstract_command.rb @@ -15,7 +15,7 @@ module Hbc end def self.abstract? - name.split("::").last =~ /^Abstract[^a-z]/ + name.split("::").last.match?(/^Abstract[^a-z]/) end def self.visible