Commit Graph

346 Commits

Author SHA1 Message Date
deadprogram 012578f012 Convenience functions for milliseconds and microseconds 2015-08-31 21:34:41 -07:00
Ron Evans bea67b2e5e Merge pull request #305 from hybridgroup/refactor/logger
Simplify logger
2015-08-31 21:19:22 -07:00
Andrew Stewart 67f0386bb5 prevent callback(err) from messing with shutdown 2015-07-21 10:31:52 -07:00
Andrew Stewart 3451932bde Remove accidentally-left-behind comments 2015-07-14 11:32:54 -07:00
Andrew Stewart 8a582fcf8d _.arity call no longer necessary 2015-07-13 14:08:21 -07:00
Andrew Stewart 843e0a3217 Simplify logger
This commit adds a simplified logging system, with two primary methods:

- `Logger#log(String) :: void` (for normal logging)
- `Logger#debug(String) :: void` (for debug logging)

This helps dramatically simplify logging infrastructure, as well as
enabling simpler toggling of log modes.

The configuration values for the Logger have also been updated:

- `logger :: Function` - function to log output to (both normal + debug)
- `silent :: Boolean` - whether to log default normal messages or not (`--silent` flag)
- `debug  :: Boolean` - whether or not to log debug output (`--debug` flag)

Additionally, the following CLI flags are supported re: logging:

- `--silent` disables normal logging (will override all other settings)
- `--debug` enables debug logging

Deprecation notices have been added for old log methods, with first-run
messages to this effect.

This change should have negligible impact on end-users, with minor
inconvenience for library developers, as they need to switch their
logging function calls over.

Logging configuration is still possible via both
`Cylon.Config.update(Object)`, and directly calling
`Cylon.Logger.setup(Object)`.
2015-07-13 14:05:12 -07:00
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 e8f109508b Replace tomdoc with jsdoc 2015-06-29 10:21:25 -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
Andrew Stewart 1726cdb5f1 Remove vestigial attributes on Robot 2015-06-26 08:17:30 -07:00
Andrew Stewart 8fbe9b9c4d Automate auto-binding of prototype methods 2015-06-25 12:33:13 -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 0b48851885 Remove unnecessary comments at start of files 2015-06-22 09:16:43 -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 10982e4003 Add additional validations 2015-06-17 09:03:26 -07:00
Andrew Stewart 4238385be4 Extract out Robot param validation into new file 2015-06-17 09:03:26 -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 68ab6ad441 Remove leftover comment 2015-06-09 07:08:46 -07:00
Andrew Stewart 6cccc41aff Begin JSDoc-ing core 2015-06-08 22:57:49 -07:00
Andrew Stewart 3f4140bd08 Add util to verify constructor calls use 'new' 2015-05-12 18:47:27 -07:00
Andrew Stewart a66b66bd52 Remove lint warnings 2015-04-18 17:15:55 -07:00
Andrew Stewart 62cbae7cff Switch to ESLint for linting 2015-04-15 08:59:34 -07:00
Andrew Stewart cccb376679 Consistent top-of-file doc blocks 2015-04-15 08:59:12 -07:00
Andrew Stewart 4791fa72a9 Throw error instead of continuing when #api fails 2015-04-02 14:10:22 -07:00
Andrew Stewart 9b04a4ed15 Add basic DSL error checks 2015-04-02 12:22:19 -07:00
Andrew Stewart eb5090e9e9 Remove accidentally committed swap file 2015-03-31 18:01:26 -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 2ed5fcf64e Add CLI flag for enabling debug logging 2015-03-22 17:07:25 -07: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 372c384b11 Fully iterate over objects, rather than just props 2015-02-23 12:57:57 -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
Andrew Stewart b17542061b Extract monkey-patches 2015-02-20 11:12:26 -08:00