diff --git a/update.sh b/update.sh
index a47105eee..b4e8aeea6 100755
--- a/update.sh
+++ b/update.sh
@@ -8,7 +8,7 @@ if [ ${#versions[@]} -eq 0 ]; then
versions=( */ )
fi
versions=( "${versions[@]%/}" )
-shaPage=$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/')
+shaPage=$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/' | tr '\r\n' ' ')
latest_gem_version() {
curl -sSL "https://rubygems.org/api/v1/gems/$1.json" | sed -r 's/^.*"version":"([^"]+)".*$/\1/'
@@ -19,12 +19,27 @@ bundler="$(latest_gem_version bundler)"
travisEnv=
for version in "${versions[@]}"; do
- fullVersion="$(curl -sSL --compressed "http://cache.ruby-lang.org/pub/ruby/$version/" \
- | grep -E '
sha256: ([^<]+).*/\1/")"
+ IFS=$'\n'; allVersions=(
+ $(curl -sSL --compressed "http://cache.ruby-lang.org/pub/ruby/$version/" \
+ | grep -E '&2 "warning: cannot determine sha for $version (tried all of ${allVersions[*]}); skipping"
+ continue
+ fi
+ shaVal="$(echo "$shaPage" | sed -r "s/.*Ruby ${fullVersion}<\/a>
\s*sha256: ([^<]+).*/\1/")"
sedStr="
s!%%VERSION%%!$version!g;