JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q47755F

Cylon adaptor/driver for Force.com

Package Exports

  • cylon-force

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cylon-force) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Cylon.js For Force.com

Cylon.js (http://cylonjs.com) is a JavaScript framework for robotics and physical computing using Node.js

This module provides an adaptor and driver for Force.com (http://force.com/). It uses the nforce module (https://github.com/kevinohara80/nforce) created by @kevinohara80 thank you!

Build Status

Getting Started

Install the module with: npm install cylon-force

Examples

JavaScript

var Cylon = require('cylon');

Cylon.robot({
  connection: { name: 'sfcon', 
                adaptor: 'force', 
                sfuser: process.env.SF_USERNAME,
                sfpass: process.env.SF_SECURITY_TOKEN,
                orgCreds: {
                  clientId: process.env.SF_CLIENT_ID,
                  clientSecret: process.env.SF_CLIENT_SECRET,
                  redirectUri: 'http://localhost:3000/oauth/_callback'
                }
              },
  device: {name: 'salesforce', driver: 'force'},

  work: function(me) {
    me.salesforce.on('start', function() {
      me.salesforce.subscribe('/topic/SpheroMsgOutbound', function(data) {
        Logger.info("Sphero:"+data.sobject.Sphero_Name__c+", Bucks: "+data.sobject.Bucks__c+", SM_Id: "+data.sobject.Id);
      });
    });

    var i = 0;
    
    every((2).seconds(), function() { 
      var toSend = "{ 'spheroName' :'"+me.name+"', 'bucks': "+i+" }"
      me.salesforce.push('SpheroController', 'POST', toSend);
    });
  }
}).start();

CoffeeScript

Cylon = require 'cylon'

Cylon.robot
  connection:
    name: 'sfcon',
    adaptor: 'force',
    sfuser: process.env.SF_USERNAME,
    sfpass: process.env.SF_SECURITY_TOKEN,
    orgCreds: {
      clientId: process.env.SF_CLIENT_ID,
      clientSecret: process.env.SF_CLIENT_SECRET,
      redirectUri: 'http://localhost:3000/oauth/_callback'
    }

  device:
    name: 'salesforce', driver: 'force'

  work: (me) ->
    me.salesforce.on('start', () ->
      me.salesforce.subscribe('/topic/SpheroMsgOutbound', (data) ->
        Logger.info "Sphero: #{ data.sobject.Sphero_Name__c }, Bucks: #{ data.sobject.Bucks__c }, SM_Id: #{ data.sobject.Id }"
      )
    )

    i = 0
    every 2.seconds(), () ->
      toSend = "{ \"spheroName\" :\"#{ me.name }\", \"bucks\": \"#{ i }\" }"
      me.salesforce.push('SpheroController', 'POST', toSend)

.start()

Configure Salesforce

To setup salesforce connection, authentication, app/object creation and streaming follo the instructions in: https://github.com/hybridgroup/cylon-force/blob/master/salesforce-setup.md

Documentation

We're busy adding documentation to our web site at http://cylonjs.com/ please check there as we continue to work on Cylon.js

Thank you!

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

NPM

Version 0.2.0 - Release for cylon 0.8.0

Version 0.1.0 - Initial release

License

Copyright (c) 2013 The Hybrid Group. Licensed under the Apache 2.0 license.