Sha256: fcc7c0d4723f83bfc8b1f66836b4c8799eed2697b1f646c27adbc898877de838
Contents?: true
Size: 1.67 KB
Versions: 3
Compression:
Stored size: 1.67 KB
Contents
module Twitter class API < Grape::API version 'v1', using: :path format :json prefix 'api' resource :hello do get do 'world' end post do 'world' end end resource :failure do desc 'Failure' get do error!('Failed as expected', 503) end end resource :user do params do requires :id, type: Integer, desc: 'User id.' end route_param :id do get do "user #{params[:id]}" end end end resource :complex do params do requires :a, type: Hash end get do "hash #{params[:a][:b][:c]}" end end resource :status do params do requires :id, type: Integer, desc: 'User id.' end get do "status #{params[:id]}" end params do requires :id, type: Integer, desc: 'User id.' end post do "status #{params[:id]}" end end resource :login do get do header 'HTTP_X_API_TOKEN', 'user_token' 'login successful' end post do if env['HTTP_X_API_TOKEN'] == 'user_token' 'token valid' else 'token invalid' end end end resource :session do get do header 'api.session', OpenStruct.new(nick: 'Bob') 'session reloaded' end post do if env['api.session'] && env['api.session'].nick == 'Bob' 'session valid' else 'session invalid' end end end # 404 # route :any, '*path' do error!("#{@env['PATH_INFO']} not found", 404) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
grape-batch-2.2.2 | spec/api.rb |
grape-batch-2.2.1 | spec/api.rb |
grape-batch-2.2.0 | spec/api.rb |