Module: Snails::RequiredParams
- Defined in:
- lib/snails.rb
Instance Method Summary collapse
Instance Method Details
#requires!(req, hash = params) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/snails.rb', line 28 def requires!(req, hash = params) if req.is_a?(Hash) req.each do |k, vals| if vals.is_a?(Array) or vals.is_a?(Hash) halt(400, "Missing: #{k} in #{hash}") if hash[k].nil? requires!(vals, hash[k]) else requires!(k, hash) end end elsif req.nil? or (req.is_a?(Symbol) and hash[req].nil?) \ or (req.is_a?(Array) and req.any? { |p| hash[p].nil? }) halt(400, "Required parameters: #{req} (in #{hash})") end end |