Project

faith

0.0
No commit activity in last 3 years
No release in over 3 years
A versatile task runner
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

 Project Readme

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.