module Sinatra::API
TODO: accept nested parameters
Public Class Methods
registered(app)
click to toggle source
# File lib/algol/sinatra/api_helpers.rb, line 201 def self.registered(app) app.helpers Helpers app.before do @api = { required: {}, optional: {} } @parent_resource = nil if api_call? request.body.rewind body = request.body.read.to_s || '' unless body.empty? begin; params.merge!(::JSON.parse(body)) # puts params.inspect # puts request.path rescue ::JSON::ParserError => e puts e.message puts e.backtrace halt 400, "Malformed JSON content" end end end end app.set(:requires) do |*resources| condition do @required = resources.collect { |r| r.to_s } @required.each { |r| @parent_resource = __api_locate_resource(r, @parent_resource) } end end end