module Google::Auth::ScopeUtil
Small utility for normalizing scopes into canonical form.
The canonical form of scopes is as an array of strings, each in the form of a full URL. This utility converts space-delimited scope strings into this form, and handles a small number of common aliases.
This is used by UserRefreshCredentials
to verify that a credential grants a requested scope.
Constants
- ALIASES
Aliases understood by this utility
Public Class Methods
Ensure the input is an array. If a single string is passed in, splits it via whitespace. Does not interpret aliases.
@param scope [String,Array<String>] Input scope(s) @return [Array<String>] Always an array of strings @raise ArgumentError If the input is not a string or array of strings
# File lib/googleauth/scope_util.rb, line 62 def self.as_array scope case scope when Array scope.each do |item| unless item.is_a? String raise ArgumentError, "Invalid scope value: #{item.inspect}. Must be string or array" end end scope when String scope.split else raise ArgumentError, "Invalid scope value: #{scope.inspect}. Must be string or array" end end
Normalize the input, which may be an array of scopes or a whitespace- delimited scope string. The output is always an array, even if a single scope is input.
@param scope [String,Array<String>] Input scope(s) @return [Array<String>] An array of scopes in canonical form.
# File lib/googleauth/scope_util.rb, line 49 def self.normalize scope list = as_array scope list.map { |item| ALIASES[item] || item } end