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!
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
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.

