Sha256: 245c86a941b4a5bf0ce42b571b450832a822ecc15424f4cba122ce857daf17ad

Contents?: true

Size: 961 Bytes

Versions: 8

Compression:

Stored size: 961 Bytes

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 :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

    # 404
    #
    route :any, '*path' do
      error!("#{@env['PATH_INFO']} not found", 404)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
grape-batch-1.1.2 spec/api.rb
grape-batch-1.1.1 spec/api.rb
grape-batch-1.1.0 spec/api.rb
grape-batch-1.0.4 spec/api.rb
grape-batch-1.0.3 spec/api.rb
grape-batch-1.0.2 spec/api.rb
grape-batch-1.0.1 spec/api.rb
grape-batch-1.0.0 spec/api.rb