Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Display sinatra routes in yard documentation.
Ruby
tag: v0.4.0.1

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
README.md
yard-sinatra.gemspec

README.md

YARD::Sinatra

This plugin adds Sinatra routes to YARD output.

BigBand

YARD::Sinatra is part of the BigBand stack. Check it out if you are looking for fancy Sinatra extensions.

Usage

Install via gemcutter:

gem install yard-sinatra

Add comments to your routes (well, that's optional):

require "sinatra/base"
require "user"

class ExampleApp < Sinatra::Base

  # Settings for a given user
  #
  # @param [User] some user
  # @return [Hash] settings for that user
  def settings(some_user)
    raise NotImplementedMethod
  end

  # Displays a settings page for the current user
  #
  # @see ExampleApp#settings
  get "/settings" do
    haml :settings, {}, :settings => settings(current_user)
  end

end

The you're ready to go:

yardoc example_app.rb

YARD will automatically detect the yard-sinatra plugin and load it.

Other use cases

As with yard, this can be used for other means besides documentation. For instance, you might want a list of all routes defined in a given list of files without executing those files:

require "yard/sinatra"
YARD::Registry.load Dir.glob("lib/**/*.rb")
YARD::Sinatra.routes.each do |route|
  puts route.http_verb, route.http_path, route.file, route.docstring
end
Something went wrong with that request. Please try again.