module Grape::OAuth2
Main Grape::OAuth2
module.
Public Class Methods
api(*endpoints)
click to toggle source
Method for injecting Grape::OAuth2
endpoints and helpers into Grape
API class. Automatically set required middleware, OAuth2
helpers and mounts all (or configured) endpoints.
@param endpoints [Array<Symbol>, Array<String>] endpoints to add
# File lib/grape_oauth2.rb, line 95 def api(*endpoints) inject_to_api do |api| api.use(*Grape::OAuth2.middleware) api.helpers(Grape::OAuth2::Helpers::AccessTokenHelpers) (endpoints.presence || endpoints_mapping.keys).each do |name| endpoint = endpoints_mapping[name.to_sym] raise ArgumentError, "Unrecognized endpoint: #{endpoint}" if endpoint.nil? api.mount(endpoint) end end end
check_configuration!()
click to toggle source
Validates Grape::OAuth2
configuration to be set correctly.
# File lib/grape_oauth2.rb, line 80 def check_configuration! config.check! end
config()
click to toggle source
Grape::OAuth2
configuration.
@return [Grape::OAuth2::Configuration]
configuration object
# File lib/grape_oauth2.rb, line 69 def config @config ||= Grape::OAuth2::Configuration.new end
configure() { |config| ... }
click to toggle source
Configures Grape::OAuth2
. Yields Grape::OAuth2::Configuration
instance to the block.
# File lib/grape_oauth2.rb, line 75 def configure yield config end
gem_version()
click to toggle source
Grape::OAuth2
version. @return [Gem::Version] version of the gem
# File lib/grape_oauth2/gem_version.rb, line 6 def self.gem_version Gem::Version.new VERSION::STRING end
middleware()
click to toggle source
Grape::OAuth2
default middleware.
# File lib/grape_oauth2.rb, line 85 def middleware [Rack::OAuth2::Server::Resource::Bearer, config.realm, config.token_authenticator] end
version()
click to toggle source
Grape::OAuth2
gem version.
@return [Gem::Version]
version value
# File lib/grape_oauth2/version.rb, line 10 def self.version gem_version end
Private Class Methods
endpoints_mapping()
click to toggle source
# File lib/grape_oauth2.rb, line 111 def endpoints_mapping { token: ::Grape::OAuth2::Endpoints::Token, authorize: ::Grape::OAuth2::Endpoints::Authorize } end
inject_to_api() { |base| ... }
click to toggle source
# File lib/grape_oauth2.rb, line 118 def inject_to_api(&_block) raise ArgumentError, 'block must be specified!' unless block_given? Module.new do |mod| mod.define_singleton_method :included do |base| yield base end end end