lib/doorkeeper/rails/routes/abstract_router.rb
# frozen_string_literal: true module Doorkeeper module Rails # Abstract router module that implements base behavior # for generating and mapping Rails routes. # # Could be reused in Doorkeeper extensions. # module AbstractRouter extend ActiveSupport::Concern attr_reader :routes def initialize(routes, mapper = Mapper.new, &block) @routes = routes @mapping = mapper.map(&block) end def generate_routes!(**_options) raise NotImplementedError, "must be redefined for #{self.class.name}!" end private def map_route(name, method) return if @mapping.skipped?(name) send(method, @mapping[name]) mapping[name] = @mapping[name] end end end end