1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# The plugin defines its request methods by evaluating a string, which
# no signature can be derived from, so they are declared here. Their
# shape matches Roda's own verb methods: match on the request method,
# and route the block if it matches.
class Roda
module RodaPlugins
module DavVerbs
module RequestMethods
def propfind: (*untyped matchers) { (*untyped) -> untyped } -> void
def report: (*untyped matchers) { (*untyped) -> untyped } -> void
end
end
end
class RodaRequest
# RBS has no way to say "only once plugin :dav_verbs is loaded", and
# web.rb — the only app here — loads it.
include RodaPlugins::DavVerbs::RequestMethods
end
end