lib/yard/server/rack_adapter.rb in yard-0.9.31 vs lib/yard/server/rack_adapter.rb in yard-0.9.32
- old
+ new
@@ -10,20 +10,10 @@
require 'rack'
# @private
RackServer = Rack::Server
end
- # Safely use refinements since Rack requires 2.4+
- # @private
- module RackRefinements
- refine Rack::Request do
- attr_accessor :version_supplied
- alias query params
- def xhr?; (env['HTTP_X_REQUESTED_WITH'] || "").casecmp("xmlhttprequest") == 0 end
- end
- end
-
# This class wraps the {RackAdapter} into a Rack-compatible middleware.
# See {#initialize} for a list of options to pass via Rack's +#use+ method.
#
# @note You must pass a +:libraries+ option to the RackMiddleware via +#use+. To
# read about how to return a list of libraries, see {LibraryVersion} or look
@@ -59,11 +49,10 @@
end
# A server adapter to respond to requests using the Rack server infrastructure.
class RackAdapter < Adapter
include YARD::Server::HTTPUtils
- using RackRefinements
# Responds to Rack requests and builds a response with the {Router}.
# @return [Array(Numeric,Hash,Array)] the Rack-style response
def call(env)
request = Rack::Request.new(env)
@@ -96,6 +85,13 @@
log.puts ">> #{server.server.class_name} web server (running on Rack)"
log.puts ">> Listening on #{opts[:Host]}:#{opts[:Port]}, CTRL+C to stop"
end
end
end
+end
+
+# @private
+class Rack::Request
+ attr_accessor :version_supplied
+ alias query params
+ def xhr?; (env['HTTP_X_REQUESTED_WITH'] || "").casecmp("xmlhttprequest") == 0 end
end