Andrew Stewart
f14ac10c95
Add addional edge case handling for snake_casing
...
Closes https://github.com/hybridgroup/robeaux/issues/19 .
2015-07-03 10:37:08 -07:00
Andrew Stewart
def91ffe53
Split apart MCP, API manager, exports
2015-06-29 08:25:07 -07:00
Andrew Stewart
ceac0df8dd
Consolidate Robot initialization to a single fn
...
Additionally, extracts validation of connections being present out to
the validator logic.
2015-06-26 10:31:23 -07:00
Edgar O Silva
fd564f61f8
Merge pull request #296 from hybridgroup/remove/async
...
Remove dependency on 'async'
2015-06-24 13:30:43 -05:00
Andrew Stewart
b1c91b7419
Logger should subscribe to updates, not be told what to do
2015-06-22 19:08:15 -07:00
Andrew Stewart
8ac8d7de94
Update config to act as subscribable data store
2015-06-22 18:57:34 -07:00
Andrew Stewart
0719fa203c
Remove dependency on 'async'
...
This commit removes the last current dependency of Cylon, 'async'.
In it's place, simplified versions of the methods used have been added
so lib/utils/helpers.js.
2015-06-18 15:40:33 -07:00
Andrew Stewart
f3efa83643
Correct issue with Robot halting
2015-06-18 14:56:39 -07:00
Andrew Stewart
ad2db2d459
Update ESLint, use local for make tasks
2015-06-11 12:16:43 -07:00
Andrew Stewart
9c67d9ba02
Add method for removing monkey-patched methods
2015-06-11 08:40:15 -07:00
Andrew Stewart
681e197ed9
Stop giving robots random names, use inc. counter
2015-06-09 11:50:50 -07:00
Andrew Stewart
952a25ac2c
Add specs for initializer
2015-06-09 08:05:37 -07:00
Andrew Stewart
8adacef282
s/source/lib for loading files for specs
2015-06-09 07:21:03 -07:00
Andrew Stewart
3f4140bd08
Add util to verify constructor calls use 'new'
2015-05-12 18:47:27 -07:00
Andrew Stewart
62cbae7cff
Switch to ESLint for linting
2015-04-15 08:59:34 -07:00
Edgar Silva
287b4205dd
Offering to the lint godsgit add .!
2015-03-27 15:36:24 -06:00
Edgar Silva
ec4dde7448
Adds error handling to basetar#respond.
2015-03-27 15:18:45 -06:00
Andrew Stewart
82ef3d31a2
Add exploding interface functions for Driver/Adaptor
...
Explicit is better than implicit, and this causes errors to be more
specific
2015-03-19 17:47:15 -07:00
Andrew Stewart
c0a3a9439e
Add #respond method to work with events/callbacks
2015-03-19 10:48:45 -07:00
Andrew Stewart
a17c70a18b
Bind passed function to Robot by default
2015-03-17 14:22:14 -07:00
Andrew Stewart
28415f0b74
Add basic #includes helper for arrays
2015-03-11 12:31:45 -07:00
Andrew Stewart
6c5208577a
Correct bug in Registry#findBy, add spec
2015-03-09 21:26:45 -07:00
Andrew Stewart
cb492c0747
Remove deprecated Connection / Device syntaxes
...
Removes deprecation warnings + support for single-object + array
syntaxes.
The array syntax will likely continue to work due to the `_.each`
abstraction, but since we don't use it anywhere, the requisite specs
have been removed.
2015-03-04 09:27:33 -08:00
Adrian Zankich
3e65e2027e
Merge pull request #271 from hybridgroup/feature/replace-lodash
...
Replace Lodash
2015-02-24 10:08:06 -08:00
Andrew Stewart
4e363e7930
Add a basic reduce implementation
2015-02-23 15:22:45 -08:00
Andrew Stewart
2eaea42a72
Add helpers for partial application
2015-02-23 14:31:52 -08:00
Andrew Stewart
6e3d7c6667
Add helpers to replace some lodash functionality
...
Not a 1:1, and probably much slower than Lodash's ultra-optimised
implementations, but we do enough I/O that it's not really relevant,
is it?
2015-02-23 08:38:12 -08:00
Daniel Lamb
ccebab4cc2
The register method should return existing modules
2015-02-20 11:25:31 -08:00
Andrew Stewart
618aa8212d
Remove lodash
2015-02-20 11:15:34 -08:00
edgarsilva
cd23d989cf
Fix broken test.
2015-01-30 15:04:14 -06:00
Andrew Stewart
147816b366
First crack at removing seperate Device/Connection initialization
2015-01-22 14:41:58 -08:00
Andrew Stewart
d56f9bc53f
Add better error checking for Robot#halt
2015-01-21 08:56:13 -08:00
Andrew Stewart
754af3b4db
Add test for Robot#log
2015-01-20 19:38:48 -08:00
Andrew Stewart
9165ab36b4
Extract API from core
2015-01-08 10:02:14 -08:00
Andrew Stewart
8065644b4e
Add support for nested device details inside conn
...
e.g.
connections: {
loopback: {
adaptor: "loopback",
devices: {
ping: { driver: "ping", pin: 1 }
}
}
}
In the event of a name collision between the `devices` hash and a nested
device, the nested device will 'win'.
2015-01-07 10:21:51 -08:00
Andrew Stewart
cf0d24f785
Add API event publication
...
This update gives Cylon support for the latest changes to the CPPP-IO
spec.
2015-01-05 12:20:53 -08:00
Loren West
1030a50ca3
Added async command tests
2014-12-31 14:25:15 -08:00
Loren West
b124e24363
API command discovery and execution tests
2014-12-29 14:26:50 -08:00
Andrew Stewart
c9e16fe8c2
Use _.result to get commands from options.
2014-12-17 15:07:03 -08:00
Andrew Stewart
36d1505c2f
Add specs for new #connections/#devices behaviour
2014-12-15 13:17:04 -08:00
Andrew Stewart
e2bec78de7
Clean up specs for JSHint
2014-12-15 09:37:52 -08:00
Andrew Stewart
7f761c7268
WIP on cleaning up specs
2014-12-14 15:24:49 -08:00
Andrew Stewart
4f850d5e9e
Support passing config to Logger#setup again
2014-11-28 09:37:44 -08:00
Andrew Stewart
83153664f5
Remove deprecated syntax from robot spec
2014-11-26 09:42:09 -08:00
Andrew Stewart
ca8e22f1e2
Fluent #device/#connection update
...
Now pass name, then object of details
#device({ name: 'ping', driver: 'ping' });
// vs
#device('ping', { driver: 'ping' });
2014-11-26 09:33:19 -08:00
Andrew Stewart
15c9b96333
Extract out Connection/Device initialization
...
Simple extraction out of Connection/Device initialization code inside
Robot.
This yields an interesting boon, however - this is now a valid Cylon
program:
var Cylon = require('cylon');
Cylon
.robot()
.connection({ name: 'loopback', adaptor: 'loopback' })
.device({ name: 'ping', driver: 'ping' })
.on('ready', function(bot) {
console.log("Bot working!");
every(1000, function() {
console.log(bot.ping.ping());
})
});
Cylon.start();
For those that prefer imperative programs with Cylon, this is a nice
syntax addition.
2014-11-20 08:43:08 -08:00
Andrew Stewart
8da2a17929
Fix broken test
2014-11-14 11:01:57 -08:00
Andrew Stewart
38bf5fdfed
Refer to Adaptor instances as 'Connection'
2014-11-14 10:56:45 -08:00
Andrew Stewart
ce87a355f0
Modifications, fix test suite
2014-11-11 11:41:23 -08:00
Andrew Stewart
f1b982fedd
Support providing connections/devices as an object
...
Before:
connections: [
{ name: 'loopback', adaptor: 'loopback', port: 13 }
],
Now:
connections: {
loopback: { adaptor: 'loopback', port: 13 }
}
Array syntax still works, but has been marked as deprecated.
2014-11-10 10:52:55 -08:00