lib/rack/api.rb in rack-api-0.1.0 vs lib/rack/api.rb in rack-api-0.1.1

- old
+ new

@@ -1,19 +1,27 @@ require "rack" require "rack/mount" require "active_support/hash_with_indifferent_access" require "json" require "logger" +require "forwardable" module Rack class API autoload :App, "rack/api/app" autoload :Formatter, "rack/api/formatter" + autoload :Middleware, "rack/api/middleware" autoload :Runner, "rack/api/runner" autoload :Response, "rack/api/response" autoload :Version, "rack/api/version" + class << self + extend Forwardable + + def_delegators :runner, :version, :use, :prefix, :basic_auth, :helper, :respond_to + end + # A shortcut for defining new APIs. Instead of creating a # class that inherits from Rack::API, you can simply pass a # block to the Rack::API.app method. # # Rack::API.app do @@ -21,44 +29,9 @@ # end # def self.app(&block) runner.instance_eval(&block) runner - end - - # Add a middleware to the stack execution. - # - # Rack::API.app do - # use MyMiddleware - # end - # - def self.use(m) - runner.use(m) - end - - # Create a new API version. - # - # Rack::API.app do - # version "v1" do - # # define your API - # end - # end - # - def self.version(name, &block) - runner.version(name, &block) - end - - # Set an additional url prefix. - # - # Rack::API.app do - # prefix "api" - # version("v1") {} - # end - # - # This API will be available through <tt>/api/v1</tt> path. - # - def self.prefix(name) - runner.prefix(name) end # Reset all API definitions while using the Rack::API.app method. # def self.reset!