/hanami

The web, with simplicity.

Primary LanguageRubyMIT LicenseMIT

Hanami 🌸

The web, with simplicity.

Frameworks

Hanami is a full-stack Ruby web framework. It's made up of smaller, single-purpose libraries.

This repository is for the full-stack framework, which provides the glue that ties all the parts together:

These components are designed to be used independently or together in a Hanami application.

Status

Gem Version TravisCI Test Coverage Depfu Inline Docs

Installation

Hanami supports Ruby (MRI) 2.3+

gem install hanami

Usage

hanami new bookshelf
cd bookshelf && bundle
bundle exec hanami server # visit http://localhost:2300

Please follow along with the Getting Started guide.

Donations

You can give back to Open Source, by supporting Hanami development via a donation. 💚

Supporters

Contact

Community

We strive for an inclusive and helpful community. We have a Code of Conduct to handle controversial cases. In general, we expect you to be nice with other people. Our hope is for a great software and a great Community.

Contributing Open Source Helpers

  1. Fork it ( https://github.com/hanami/hanami/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

In addition to contributing code, you can help to triage issues. This can include reproducing bug reports, or asking for vital information such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to subscribe to hanami on CodeTriage.

How To Use Hanami HEAD

If you want to test Hanami's HEAD to try a new feature or to test a bug fix, here's how to do:

git clone https://github.com/hanami/hanami.git
cd hanami && bundle
bundle exec hanami new bookshelf --hanami-head
cd bookshelf
vim Gemfile # edit with: gem 'hanami', path: '..'
bundle

Development Requirements

  • Ruby 2.3+ / JRuby 9.1.5.0+
  • Bundler
  • PhantomJS
  • Node.js (MacOS)

Testing

In order to simulate installed gems on developers' computers, the build installs all the gems locally in vendor/cache, including hanami code from lib/.

Before running a test, please make sure you have a fresh version of the code:

./script/setup
bundle exec rspec spec/path/to/file_spec.rb

To run all the tests, please use:

./script/ci

Versioning

Hanami uses Semantic Versioning 2.0.0

Copyright

Released under MIT License.

This project was formerly known as Lotus (lotusrb).

Copyright © 2014-2019 Luca Guidi.