Sha256: 4b128b7a7a2ae3bb046dee660b5668d660a99458760ddb3eb3c51c4305b3f035

Contents?: true

Size: 858 Bytes

Versions: 2

Compression:

Stored size: 858 Bytes

Contents

# frozen_string_literal: true

module WineBouncer
  module Extension
    def oauth2(*scopes)
      scopes = Doorkeeper.configuration.default_scopes.all if scopes.all? { |x| x.nil? }
      description = if respond_to?(:route_setting) # >= grape-0.10.0
                      route_setting(:description) || route_setting(:description, {})
                    else
                      @last_description ||= {}
                    end
      # case WineBouncer.configuration.auth_strategy
      # when :default
      description[:auth] = { scopes: scopes }
      # when :swagger
      description[:authorizations] = { oauth2: scopes.map { |x| { scope: x } } }
      # end
    end

    # Grape::API::Instance is defined in grape 1.2.0 or above
    grape_api = defined?(Grape::API::Instance) ? Grape::API::Instance : Grape::API
    grape_api.extend self
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
privy_wine_bouncer-1.0.4.5 lib/wine_bouncer/extension.rb
wine_bouncer-1.0.4 lib/wine_bouncer/extension.rb