class Sinatra::DocDsl::DocEntry
Attributes
desc[RW]
headers[RW]
params[RW]
paths[RW]
query_params[RW]
sample_request[RW]
sample_response[RW]
status_codes[RW]
the_payload[RW]
the_response[RW]
Public Class Methods
new(description, &block)
click to toggle source
# File lib/docdsl.rb, line 284 def initialize(description, &block) @paths=[] @desc=description @params={} @query_params={} @headers={} @the_payload=nil @sample_request=nil @the_response=nil @sample_response=nil @status_codes={} if(block) if block.arity == 1 block(self) else instance_eval(&block) end end end
Public Instance Methods
<<(path)
click to toggle source
# File lib/docdsl.rb, line 304 def <<(path) self.paths << path end
describe(desc)
click to toggle source
# File lib/docdsl.rb, line 312 def describe(desc) @desc=desc end
header(name,desc)
click to toggle source
# File lib/docdsl.rb, line 330 def header(name,desc) @headers[name]=desc end
json()
click to toggle source
# File lib/docdsl.rb, line 390 def json { :description=>@desc, :url_parameters=>@params, :paths=>@paths, :query_parameters=>@query_params, :headers=>@headers, :payload=>@the_payload, :sample_request=>@sample_request, :response=>@the_response, :status_codes=>@status_codes, :sample_response=>@sample_response } end
param(name,desc)
click to toggle source
# File lib/docdsl.rb, line 326 def param(name,desc) @params[name]=desc end
payload(desc, example=nil)
click to toggle source
# File lib/docdsl.rb, line 316 def payload(desc, example=nil) @the_payload=desc @sample_request=example end
query_param(name,desc)
click to toggle source
# File lib/docdsl.rb, line 334 def query_param(name,desc) @query_params[name]=desc end
response(desc,example=nil)
click to toggle source
# File lib/docdsl.rb, line 321 def response(desc,example=nil) @the_response=desc @sample_response=example end
status(code,meaning=nil)
click to toggle source
# File lib/docdsl.rb, line 338 def status(code,meaning=nil) official_meaning=status_codes_map[code] if meaning @status_codes[code]="#{official_meaning} - #{meaning}" else @status_codes[code]=official_meaning end end
status_codes_map()
click to toggle source
# File lib/docdsl.rb, line 347 def status_codes_map { 100=> 'Continue', 101=> 'Switching Protocols', 102=> 'Processing', 200=> 'OK', 201=> 'Created', 202=> 'Accepted', 203=> 'Non Authoritative Information', 204=> 'No Content', 205=> 'Reset Content', 206=> 'Partial Content', 207=> 'Multi-Status', 300=> 'Mutliple Choices', 301=> 'Moved Permanently', 302=> 'Moved Temporarily', 303=> 'See Other', 304=> 'Not Modified', 305=> 'Use Proxy', 307=> 'Temporary Redirect', 400=> 'Bad Request', 401=> 'Unauthorized', 402=> 'Payment Required', 403=> 'Forbidden', 404=> 'Not Found', 405=> 'Method Not Allowed', 406=> 'Not Acceptable', 407=> 'Proxy Authentication Required', 408=> 'Request Timeout', 409=> 'Conflict', 410=> 'Gone', 411=> 'Length Required', 412=> 'Precondition Failed', 413=> 'Request Entity Too Large', 414=> 'Request-URI Too Long', 415=> 'Unsupported Media Type', 416=> 'Requested Range Not Satisfiable', 417=> 'Expectation Failed', 500=> 'Internal Server Error', 503=> 'Temporarily Unavailable' } end
to_s()
click to toggle source
# File lib/docdsl.rb, line 308 def to_s self.inspect end