Bulldoggy
A to-do list app inspired by Uncle Bob's Clean Architecture.
The idea of is to have a concrete implementation of the architecture and use various deliveries mechanisms and storages that will act as plugins to the core app.
Implementations of the delivery mechanisms are welcome and will be listed here:
Web as the delivery mechanism:
CLI (command line interface) as the delivery mechanism:
Installation
Add this line to your application's Gemfile:
gem 'bulldoggy', '~> 0.0.1.alpha'
And then execute:
$ bundle
Or install it yourself as:
$ gem install bulldoggy --pre
Usage
Adding tasks:
task = Bulldoggy.add_task('go to the cinema')
Checking tasks:
Bulldoggy.check_task(task.id)
Unchecking tasks:
Bulldoggy.uncheck_task(task.id)
Removing tasks:
Bulldoggy.remove(task.id)
Fetching tasks:
Bulldoggy.fetch
Usage with Rails:
Connecting entities to ActiveRecord models
Inside your Rails app, create an initializer and register your repository adapters to make it work with Rails AR models.
config/initializers/bulldoggy.rb:
Bulldoggy::Repository.register :task, TasksRespositoryAdapter.new
TODO: add repository adapter example