Skip to content
/ vedeu Public
forked from gavinlaking/vedeu

A framework written in Ruby for building GUI/TUI terminal/console applications.

License

Notifications You must be signed in to change notification settings

econya/vedeu

 
 

Repository files navigation

Code Climate Build Status Test Coverage

Vedeu

Vedeu (vee-dee-you; aka VDU) is my attempt at creating a terminal based application framework without the need for Ncurses. I've tried to make Vedeu as simple and flexible as possible.

Requirements

Vedeu was been built primarily with Ruby v2.1; however, the .ruby-version file will indicate the currently used Ruby version.

When Vedeu started I was a MacOSX user, I've since moved to Linux. You shouldn't have any problems with either of these operating systems.

Note: You may have trouble running Vedeu with Windows installations. (Pull requests welcome!)

Installation

To install Vedeu, simply:

gem install vedeu

To use Vedeu's application scaffolding, see the RubyDoc

Example

Have a look at: Playa. Please browse the source of Playa and Vedeu to get a feel for how it all works.

Note: Playa is based on an old version of Vedeu. Vedeu has significantly improved since then and a better example is coming soon!

If you have produced software which uses Vedeu, please let me know, I'll link to your project here.

Documentation & Usage

Vedeu is documented using Yard. I hope to produce more 'General Usage' documentation shortly. In the meantime, please browse the RubyDoc. In no particular order, here is some documentation for the various aspects of Vedeu:

Development / Contributing

Pull requests are very welcome! Please try to follow these simple rules if applicable:

  • Please create a topic branch for every separate change you make.
  • Make sure your patches are well tested.
  • Update the Yard documentation. (Use yard stats --list-undoc to locate undocumented code)
  • Update the README, if appropriate.
  • Please do not change the version number.

Raising issues and finding bugs, updating documentation and improving the code are all welcome contributions. I may also have left some TODO items lying around, which you're quite welcome to and can find with either Yard, or git:

yard list --query '@todo'

git grep --line-number '@todo'

Any branch on the repository that is not master is probably experimental; do not rely on anything in these branches. Typically, twerks will be merged into master before a release, and branches prefixed with spike/ are me playing with ideas- they aren't guaranteed to work at all.

Various environment variables are available to you to help with testing, all of which can be used in combination, prefaced to rake:

  • Produce statistics on the slowest performing parts of the application/tests. Useful when used multiple times. See test/test_helper.rb for configuration.

      PERFORMANCE=1 rake
    
  • Produce a 'SimpleCov' test coverage report in the coverage/ directory.

      SIMPLECOV=1 rake
    
  • Produces a 'SimpleCov' test coverage report with output to the console.

      CONSOLE_COVERAGE=1 rake
    
  • Enable Ruby's warnings mode (this can usually be quote verbose, but thankfully more so with gem dependencies rather than Vedeu itself).

      WARNINGS=1 rake
    
  • Disable Ruby's garbage collection for this test run.

      DISABLE_GC=1 rake
    
  • Use Rubocop to catch coding misdemeanours for this test run. (Or use rake rubocop).

      RUBOCOP=1 rake
    
  • Build the Yard documentation for the project. (Or use rake yard).

      YARD=1 rake
    

General contribution help

  1. Fork it (https://github.com/gavinlaking/vedeu/fork)
  2. Clone it
  3. Run bundle
  4. Run rake (runs all tests and coverage report) or bundle exec guard
  5. Create your feature branch (git checkout -b my-new-feature)
  6. Write some tests, write some code, have some fun!
  7. Commit your changes (git commit -am 'Add some feature')
  8. Push to the branch (git push origin my-new-feature)
  9. Create a new pull request.

Author & Contributors

Author

Gavin Laking (@gavinlaking)

Contributors

https://github.com/gavinlaking/vedeu/graphs/contributors

About

A framework written in Ruby for building GUI/TUI terminal/console applications.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 99.7%
  • Other 0.3%