Getting Started with Swagger Petstore

Introduction

This is a sample server Petstore server. You can find out more about Swagger at http://swagger.io or on irc.freenode.net, #swagger. For this sample, you can use the api key special-key to test the authorization filters.

Find out more about Swagger: http://swagger.io

Install the Package

Install the gem from the command line:

gem install CalculatorApimatic -v 1.0.1

Or add the gem to your Gemfile and run bundle:

gem 'CalculatorApimatic', '1.0.1'

For additional gem details, see the RubyGems page for the CalculatorApimatic gem.

Initialize the API Client

Note: Documentation for the client can be found here.

The following parameters are configurable for the API Client:

Parameter Type Description
environment Environment The API environment.
Default: Environment.PRODUCTION
connection Faraday::Connection The Faraday connection object passed by the SDK user for making requests
adapter Faraday::Adapter The Faraday adapter object passed by the SDK user for performing http requests
timeout Float The value to use for connection timeout.
Default: 60
max_retries Integer The number of times to retry an endpoint call if it fails.
Default: 0
retry_interval Float Pause in seconds between retries.
Default: 1
backoff_factor Float The amount to multiply each successive retry's interval amount by in order to provide backoff.
Default: 2
retry_statuses Array A list of HTTP statuses to retry.
Default: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524]
retry_methods Array A list of HTTP methods to retry.
Default: %i[get put]
http_callback HttpCallBack The Http CallBack allows defining callables for pre and post API calls.
o_auth_client_id String OAuth 2 Client ID
o_auth_redirect_uri String OAuth 2 Redirection endpoint or Callback Uri
o_auth_token OAuthToken Object for storing information about the OAuth token
o_auth_scopes OAuthScopeEnum

The API client can be initialized as follows:

client = SwaggerPetstore::Client.new(
  o_auth_client_id: 'OAuthClientId',
  o_auth_redirect_uri: 'OAuthRedirectUri',
  o_auth_scopes: [
    OAuthScopeEnum::READPETS,
    OAuthScopeEnum::WRITEPETS
  ],
  environment: Environment::PRODUCTION
)

Authorization

This API uses OAuth 2 Implicit Grant.

Implicit Grant

Your application must obtain user authorization before it can execute an endpoint call incase this SDK chooses to use OAuth 2.0 Implicit Grant to obtain a user's consent to perform an API request on user's behalf. This authorization includes the following steps

This process requires the presence of a client-side JavaScript code on the redirect URI page to receive the access token after the consent step is completed.

To obtain user's consent, you must redirect the user to the authorization page. The get_authorization_url() method creates the URL to the authorization page. You must have initialized the client with scopes for which you need permission to access.

auth_url = client.auth.get_authorization_url

2. Handle the OAuth server response

Once the user responds to the consent request, the OAuth 2.0 server responds to your application's access request by redirecting the user to the redirect URI specified set in Configuration.

The redirect URI will receive the access token as the token argument in the URL fragment.

https://example.com/oauth/callback#token=XXXXXXXXXXXXXXXXXXXXXXXXX

The access token must be extracted by the client-side JavaScript code. The access token can be used to authorize any further endpoint calls by the JavaScript code.

Scopes

Scopes enable your application to only request access to the resources it needs while enabling users to control the amount of access they grant to your application. Available scopes are defined in the OAuthScopeEnum enumeration.

Scope Name Description
READPETS read your pets
WRITEPETS modify pets in your account

List of APIs

Classes Documentation