gavinlaking/vedeu — pull request #89 by gavinlaking (2014-08-30 13:30:06+00:00)
Title: Loadsafun!

- Fix colour configuration and increase test coverage.
- Update API;
- Raise an InvalidSyntax exception if:
- cursor or centred have an invalid value.
- stream does not have a block.
- interface does not have a name.
- align does not have a value of :left, :right or :centred.
- Add more documentation.
- Move private methods out of API classes into models.
- Add more documentation.
- Request that Yard shows private methods;
- (Since I'm documenting them like a good boy.)
- Have a go at a simple integration test.
- Inline #run_once and start to handle interactive vs standalone.
- Only log key presses or messages if configured to.
- Ensure configuration is initialised.
- Add complimentary '--standalone' as alias to '--noninteractive'.
- Add VEDEU_DEBUG and VEDEU_TRACE environment variables;
- Also, rename VEDEUTERM to VEDEU_TERM.
- Update with details of debugging and environment variables.
- Fixed namespace.
- Move refresh group event registration to own method.
- Add more and fix some tests.
- The colour mode should be sought from Configuration.
- Some work on Configuration;
- Remove some of the duplicate configuration from Application and into
Configuration.
- Change Configuration into a module since we only want one version of it.
- Application no longer needs options to `.start` since this configuration
comes from the Terminal.
- Terminal no longer needs a mode as part of `.open` since this
configuration comes from Configuration.
- Remove debug stuff from Application.
- Update code around Terminal mode- new `.switch_mode!`, `.cooked_mode?`
and `.raw_mode?` methods make all of this easier.
- Reorder require statements closer to that which are needed first.
- Make block on API.views required.
- Add .centre_y and .centre_x from Geometry; and document.
- Move .centre, .centre_y and .centre_x into Terminal;
- Also add more documentation to this class.
- Use preferred Yard document linking format.
- Move Trace up require list to make it available sooner.
- API::Interface#line new accepts a value;
Not passing a block but providing a value creates the necessary content
automatically.
- Trace is no longer part of API namespace.
- Add #virtual_x method to complement #virtual_y.
- Tab and Shift+Tab to control interface focussing.
- Rather than relying on 0 or NilClass, coerce to Boolean.
- Add return types for methods.