Sha256: 65bd5fceac7a1dd01d0cec52e7ac70da3dceee426f594d71b42e54746f0021a5
Contents?: true
Size: 1.29 KB
Versions: 3
Compression:
Stored size: 1.29 KB
Contents
class Roda module RodaPlugins # The all_verbs plugin adds methods for http verbs other than # get and post. The following verbs are added, assuming # rack handles them: delete, head, options, link, patch, put, # trace, unlink. # # These methods operate just like Roda's default get and post # methods other that the http verb used, so using them without # any arguments just checks for the request method, while # using them with any arguments also checks that the arguments # match the full path. # # Example: # # plugin :all_verbs # # route do |r| # r.delete # # Handle DELETE # end # r.put do # # Handle PUT # end # r.patch do # # Handle PATCH # end # end # # The verb methods are defined via metaprogramming, so there # isn't documentation for the individual methods created. module AllVerbs def self.configure(app) %w'delete head options link patch put trace unlink'.each do |v| if ::Rack::Request.method_defined?("#{v}?") app.request_module do app::RodaRequest.def_verb_method(self, v) end end end end end register_plugin(:all_verbs, AllVerbs) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
roda-cj-0.9.6 | lib/roda/plugins/all_verbs.rb |
roda-cj-0.9.5 | lib/roda/plugins/all_verbs.rb |
roda-cj-0.9.4 | lib/roda/plugins/all_verbs.rb |