module Quiver::Router

Attributes

router[RW]

Public Class Methods

included(host) click to toggle source
# File lib/quiver/router.rb, line 3
def self.included(host)
  host.send(:extend, ClassMethods)
end
new() click to toggle source
# File lib/quiver/router.rb, line 17
def initialize
  resolver = Lotus::Routing::EndpointResolver.new(pattern: %Q|#{root_module}::Endpoints::%{controller}::%{action}|)
  self.router = Lotus::Router.new(resolver: resolver, parsers: [JsonParser.new], &self.class.routes_block)
  router.get('/', to: ->(env) { [200, {}, ["#{root_module} is now flying out of the Quiver!"]] })
end

Public Instance Methods

call(env) click to toggle source
# File lib/quiver/router.rb, line 23
def call(env)
  router.call(env)
end

Private Instance Methods

root_module() click to toggle source
# File lib/quiver/router.rb, line 31
def root_module
  self.class.parents[1].name
end