flywheeljs

0.0.3 • Public • Published

🚕 flywheeljs

A Javascript wrapper to the Flywheel REST API, for both NodeJS and the browser.

Travis build status Code Climate Coverage Status Dependency Status

DISCLAIMER This project is an independent work and has not been authorized, sponsored, or otherwise approved by Flywheel Software Inc.

Promises

flywheeljs depends on a native ES6 Promise implementation to be supported. If your environment doesn't support ES6 Promises, you can polyfill.

Install

  • NodeJS / Browserify: npm install flywheeljs --save

Other platforms / bundling tools could be easily added if needed.

Getting started

To login a user and then order a cab:

flywheel = require ('flywheeljs');

var userEmail = 'user@email.com';
var userPassword = 'userpassword';
var latitude = 37.615223; // Pickup latitude
var longitude = -122.389977; // Pickup longitude
var tip = 10 * 100; // 10$ tip
// These variables are needed to order the cab
var authToken = '';
var userName = '';
var userPhone = '';
var paymentToken = '';

flywheel.login({
  email: userEmail,
  password: userPassword
})
.then(function (response) {
  authToken = response.auth_token;
  userName = response.passenger.first_name;
  userPhone = response.passenger.telephone;
  paymentToken = response.passenger.payment_instruments[0].token;
  return flywheel.applicationContext({
    authToken: authToken,
    latitude: latitude,
    longitude: longitude
  });
})
.then(function (response) {
  return flywheel.createRide({
    pickUpLat: latitude,
    pickUpLon: longitude,
    passenger: {
      name: userName,
      phone: userPhone
    },
    paymentToken: paymentToken,
    serviceAvailabilitiesId: response.service_availabilities[0].id,
    tip: tip,
    authToken: authToken
  });
})
.then(function (response) {
  console.log("Your cab has been ordered! Your order id is: ", response.id);
})
.catch(function (error) {
  console.err('There was an error', error);
});

Documentation

You will find all the documentation here.

Contributing

Pull requests are welcomed. To get started:

  • Download or clone the repo
  • npm install
  • npm run test-browser, you can open runner.html file to see run the tests in the browser

Todo

  • [ ] add delayed trip request
  • [ ] 'examples' folder
  • [ ] use npm instead of gulp (see this library boilerplate)

Readme

Keywords

none

Package Sidebar

Install

npm i flywheeljs

Weekly Downloads

0

Version

0.0.3

License

MIT

Last publish

Collaborators

  • jchavarri