Ditty
Ditty provides an extra layer of functionality on top of Sinatra to give structure and basic tools to an already great framework. You can get a new application, with user authentication and basic CRUD / REST interfaces, up and running in minutes.
Installation
Add these lines to your application's Gemfile:
gem 'ditty'
gem 'sqlite3'
You can replace sqlite3
with a DB adapter of your choice.
And then execute:
bundle install
Or install it yourself as:
gem install ditty
Usage
- Add the components to your rack config file. See the included
config.ru
file for an example setup - Set the DB connection as the
DATABASE_URL
ENV variable:DATABASE_URL=sqlite://development.db
- Prepare the Ditty folder:
bundle exec ditty prep
- Run the Ditty migrations:
bundle exec ditty migrate
- Run the Ditty server:
bundle exec ditty server
Components
The application can now be further extended by creating components.
Rubocop Cops
Ditty provides a number of Rubocop cops
to ensure that the Ditty framework is used correctly. Enable this by adding the
following to your .rubocop.yml
file:
require: ditty/rubocop
You can run Ditty specific cops as follows:
bundle exec rubocop --only Ditty
Adding the -a
flag to the invocation will automatically fix some of the issues
for you, but, as always, ensure you have a working copy of your code before
running this.
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/EagerELK/ditty.
License
The Ditty gem is an Open Source project licensed under the terms of the MIT license. Please see MIT license for license text.