class Doorkeeper::Rails::Routes

Attributes

routes[RW]

Public Class Methods

install!() click to toggle source
# File lib/doorkeeper/rails/routes.rb, line 14
def self.install!
  ActionDispatch::Routing::Mapper.send :include, Doorkeeper::Rails::Routes::Helper
end
new(routes, &block) click to toggle source
# File lib/doorkeeper/rails/routes.rb, line 20
def initialize(routes, &block)
  @routes, @block = routes, block
end

Public Instance Methods

generate_routes!(options) click to toggle source
# File lib/doorkeeper/rails/routes.rb, line 24
def generate_routes!(options)
  @mapping = Mapper.new.map(&@block)
  routes.scope options[:scope] || 'oauth', as: 'oauth' do
    map_route(:authorizations, :authorization_routes)
    map_route(:tokens, :token_routes)
    map_route(:tokens, :revoke_routes)
    map_route(:applications, :application_routes)
    map_route(:authorized_applications, :authorized_applications_routes)
    map_route(:token_info, :token_info_routes)
  end
end

Private Instance Methods

application_routes(mapping) click to toggle source
# File lib/doorkeeper/rails/routes.rb, line 79
def application_routes(mapping)
  routes.resources :doorkeeper_applications, controller: mapping[:controllers], as: :applications, path: 'applications'
end
authorization_routes(mapping) click to toggle source
# File lib/doorkeeper/rails/routes.rb, line 44
def authorization_routes(mapping)
  routes.resource(
    :authorization,
    path: 'authorize',
    only: [:create, :destroy],
    as: mapping[:as],
    controller: mapping[:controllers]
  ) do
    routes.get '/:code', action: :show, on: :member
    routes.get '/', action: :new, on: :member
  end
end
authorized_applications_routes(mapping) click to toggle source
# File lib/doorkeeper/rails/routes.rb, line 83
def authorized_applications_routes(mapping)
  routes.resources :authorized_applications, only: [:index, :destroy], controller: mapping[:controllers]
end
map_route(name, method) click to toggle source
# File lib/doorkeeper/rails/routes.rb, line 38
def map_route(name, method)
  unless @mapping.skipped?(name)
    send method, @mapping[name]
  end
end
revoke_routes(mapping) click to toggle source
# File lib/doorkeeper/rails/routes.rb, line 66
def revoke_routes(mapping)
  routes.post 'revoke', controller: mapping[:controllers], action: :revoke
end
token_info_routes(mapping) click to toggle source
# File lib/doorkeeper/rails/routes.rb, line 70
def token_info_routes(mapping)
  routes.resource(
    :token_info,
    path: 'token/info',
    only: [:show], as: mapping[:as],
    controller: mapping[:controllers]
  )
end
token_routes(mapping) click to toggle source
# File lib/doorkeeper/rails/routes.rb, line 57
def token_routes(mapping)
  routes.resource(
    :token,
    path: 'token',
    only: [:create], as: mapping[:as],
    controller: mapping[:controllers]
  )
end