forked from sinatra/sinatra.github.com
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sinatra-required-params.html
45 lines (29 loc) · 2.23 KB
/
sinatra-required-params.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<h1 id="label-Sinatra%3A%3ARequiredParams">Sinatra::RequiredParams</h1>
<p>Ensure required query parameters</p>
<h2 id="label-Usage">Usage</h2>
<p>Set required query parameter keys in the argument. It'll halt with 400
if required keys don't exist.</p>
<pre>get '/simple_keys' do
required_params :p1, :p2
end</pre>
<p>Complicated pattern is also fine.</p>
<pre class="ruby"><span class="ruby-identifier">get</span> <span class="ruby-string">'/complicated_keys'</span> <span class="ruby-keyword">do</span>
<span class="ruby-identifier">required_params</span> :<span class="ruby-identifier">p1</span>, :<span class="ruby-identifier">p2</span> =<span class="ruby-operator">></span> [:<span class="ruby-identifier">p3</span>, :<span class="ruby-identifier">p4</span>]
<span class="ruby-keyword">end</span>
</pre>
<h3 id="label-Classic+Application">Classic Application</h3>
<p>In a classic application simply require the helpers, and start using them:</p>
<pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">"sinatra"</span>
<span class="ruby-identifier">require</span> <span class="ruby-string">"sinatra/required_params"</span>
<span class="ruby-comment"># The rest of your classic application code goes here...</span>
</pre>
<h3 id="label-Modular+Application">Modular Application</h3>
<p>In a modular application you need to require the helpers, and then tell the
application to use them:</p>
<pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">"sinatra/base"</span>
<span class="ruby-identifier">require</span> <span class="ruby-string">"sinatra/required_params"</span>
<span class="ruby-keyword">class</span> <span class="ruby-constant">MyApp</span> <span class="ruby-operator"><</span> <span class="ruby-constant">Sinatra</span><span class="ruby-operator">::</span><span class="ruby-constant">Base</span>
<span class="ruby-identifier">helpers</span> <span class="ruby-constant">Sinatra</span><span class="ruby-operator">::</span><span class="ruby-constant">RequiredParams</span>
<span class="ruby-comment"># The rest of your modular application code goes here...</span>
<span class="ruby-keyword">end</span>
</pre>