github.com/gtramontina/griffith.cr
1.0.0 / published Aug 25, 2018 / repository
Beautiful UI for showing tasks running on the command line.
griffith.cr 
Beautiful UI for showing tasks running on the command line.
Purpose
Instead of just logging long running tasks to the console, give your users a simple status dashboard.

Installation
Add this to your application's shard.yml:
dependencies:
griffith:
github: gtramontina/griffith.cr
Usage
require "griffith"
Config
Griffith.config do |c|
c.prefix = "[my-app] " # Default: ""
c.done_message = "OK".colorize(:green) # Default: "✓ Done".colorize(:green)
c.fail_message = "NOK".colorize(:red) # Default: "✗ Failed".colorize(:red)
c.running_message = "downloading…" # Default: "…".colorize(:yellow)
c.reporter = MyCustomReporter.new # Default: ConsoleReporter.new
end
Tasking out
# Add a task to display
task = Griffith.create_task("Task description")
# While working on the task, update the status
task.running("some comment")
# Optionally give details
task.details("#{percent}%")
# Chain commands
task.status_message("Downloading…")
.details("#{percent}%")
# When complete
task.done("Finished!")
# Or if it failed
task.fail("Oops")
Terminology
[Test Runner] Running tests on Safari Running Now 50% CSS3 Tests
↑ prefix ↑ description (column width of 50 chars) ↑ status ↑ details
Contributing
- Fork it ( https://github.com/gtramontina/griffith.cr/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
Acknowledgements
This shard was totally inspired by @dylang's observatory, hence the name and README similarity! Thank you, @dylang! :beers::smile:
TODO
- [ ] Make the reporter format more flexible. Meanwhile you have to extend
ConsoleReporterand override#render(task)in order to change the format.