Faith
This is a work in progress. Tasks can't be run from a CLI yet, and many features are unimplemented.
Faith is an powerful and extremely versatile task runner. Using a lovely Ruby DSL, you can:
- Define named tasks
- Can be invoked with arguments and options*
- Assign dependencies between tasks
- Group tasks together into sensible and organised namespaces
- Build sequences of tasks which run in order
- Can either exit or continue if one task fails*
- Create parallel groups of tasks*
- Add mixins, which wrap tasks to enhance their environment by running before and after tasks
* - Not yet implemented
DSL Example
# A very simple, not-real-world example
# Create two mixins, which can provide `number` to a task
mixin 'a' do
before do
provide number: 5
end
end
mixin 'b' do
before do
provide number: 4
end
end
# Now, create an executable task which uses those provided values
task 'example', mixins: ['a', 'b'] do
puts mixins['a'].number * mixins['b'].number # => 20
end
Use Case
Faith should make a great starting point for building your own bespoke testing framework, or if you feel like you're outgrowing Rake.
Installation
Add this line to your application's Gemfile:
gem 'faith'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install faith
Name
Named after Faith Connors, a runner from the Mirror's Edge video games.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/AaronC81/faith.
License
The gem is available as open source under the terms of the MIT License.