Hanami 🌸
The web, with simplicity.
Version
This branch contains the code for hanami
: 2.2
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:
- Hanami::Router - Rack compatible HTTP router for Ruby
- Hanami::Controller - Full featured, fast and testable actions for Rack
- Hanami::Validations - Parameter validations & coercion for actions
- Hanami::View - Presentation with a separation between views and templates
- Hanami::Assets - Assets management for Ruby
These components are designed to be used independently or together in a Hanami application.
Status
Installation
Hanami supports Ruby (MRI) 3.1+.
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 GitHub Sponsors.
Supporters
Contact
- Home page: http://hanamirb.org
- Community: http://hanamirb.org/community
- Guides: https://guides.hanamirb.org
- Snippets: https://snippets.hanamirb.org
- Mailing List: http://hanamirb.org/mailing-list
- API Doc: https://gemdocs.org/gems/hanami/latest
- Bugs/Issues: https://github.com/hanami/hanami/issues
- Stack Overflow: http://stackoverflow.com/questions/tagged/hanami
- Forum: https://discourse.hanamirb.org
- Chat: http://chat.hanamirb.org
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.
- Fork it ( https://github.com/hanami/hanami/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - 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.
Tests
To run all test suite:
$ bundle exec rake
To run all the unit tests:
$ bundle exec rspec spec/unit
To run all the integration tests:
$ bundle exec rspec spec/integration
To run a single test:
$ bundle exec rspec path/to/spec.rb
Development Requirements
- Ruby >= 3.1
- Bundler
- Node.js (MacOS)
Versioning
Hanami uses Semantic Versioning 2.0.0
Copyright
Copyright © 2014–2024 Hanami Team – Released under MIT License.