Skip to content

Commit

Permalink
Merge 4cb3c73 into b03268d
Browse files Browse the repository at this point in the history
  • Loading branch information
TheRoyalTnetennba committed Aug 16, 2018
2 parents b03268d + 4cb3c73 commit 4e234b6
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 2 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
## 0.6.5 (2018/08/16)

* Fix incorrect http verb when revoking credentials.
* Warn on EOL ruby versions.

## 0.6.4 (2018/08/03)

Expand Down
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,17 @@ access and refresh tokens. Two storage implementations are included:
Custom storage implementations can also be used. See
[token_store.rb](lib/googleauth/token_store.rb) for additional details.

## Supported Ruby Versions

This library is currently supported on Ruby 1.9+.

However, Ruby 2.4 or later is strongly recommended, as earlier releases have
reached or are nearing end-of-life. After March 31, 2019, Google will provide
official support only for Ruby versions that are considered current and
supported by Ruby Core (that is, Ruby versions that are either in normal
maintenance or in security maintenance).
See https://www.ruby-lang.org/en/downloads/branches/ for further details.

## License

This library is licensed under Apache 2.0. Full license text is
Expand Down
49 changes: 48 additions & 1 deletion lib/googleauth.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
Expand All @@ -33,3 +33,50 @@
require 'googleauth/default_credentials'
require 'googleauth/user_authorizer'
require 'googleauth/web_user_authorizer'

module Google
# Module Auth provides classes that provide Google-specific authorization
# used to access Google APIs.
module Auth
# On March 31, 2019, set supported version to 2.4 and recommended to 2.6.
# Thereafter, follow the MRI support schedule: supported means non-EOL,
# and recommended means in normal (rather than security) maintenance.
# See https://www.ruby-lang.org/en/downloads/branches/
##
# Minimum "supported" Ruby version (non-EOL)
# @private
#
SUPPORTED_VERSION_THRESHOLD = '1.9'.freeze
##
# Minimum "recommended" Ruby version (normal maintenance)
# @private
#
RECOMMENDED_VERSION_THRESHOLD = '2.4'.freeze
##
# Check Ruby version and emit a warning if it is old
# @private
#
def self.warn_on_old_ruby_version
cur_version = Gem::Version.new RUBY_VERSION
if cur_version < Gem::Version.new(SUPPORTED_VERSION_THRESHOLD)
warn "WARNING: You are running Ruby #{cur_version}, which has reached" \
' end-of-life and is no longer supported by Ruby Core.'
warn 'It is strongly recommended that you upgrade to Ruby' \
" #{RECOMMENDED_VERSION_THRESHOLD} or later."
warn 'See https://www.ruby-lang.org/en/downloads/branches/ for more' \
' info on the Ruby maintenance schedule.'
elsif cur_version < Gem::Version.new(RECOMMENDED_VERSION_THRESHOLD)
warn "WARNING: You are running Ruby #{cur_version}, which is nearing" \
' end-of-life.'
warn "Consider upgrading to Ruby #{RECOMMENDED_VERSION_THRESHOLD}" \
' or later.'
warn 'See https://www.ruby-lang.org/en/downloads/branches/ for more' \
' info on the Ruby maintenance schedule.'
end
rescue ArgumentError
warn 'Unable to determine current Ruby version.'
end
end
end

Google::Auth.warn_on_old_ruby_version
2 changes: 1 addition & 1 deletion lib/googleauth/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,6 @@ module Google
# Module Auth provides classes that provide Google-specific authorization
# used to access Google APIs.
module Auth
VERSION = '0.6.4'.freeze
VERSION = '0.6.5'.freeze
end
end

0 comments on commit 4e234b6

Please sign in to comment.