https://github.com/marian13/convenient_service
Ruby Service Objects with Steps and more.
https://github.com/marian13/convenient_service
ruby service-object service-object-with-steps
Last synced: 13 days ago
JSON representation
Ruby Service Objects with Steps and more.
- Host: GitHub
- URL: https://github.com/marian13/convenient_service
- Owner: marian13
- License: other
- Created: 2022-08-28T21:08:59.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-02-23T14:59:51.000Z (about 2 months ago)
- Last Synced: 2026-02-23T22:51:27.687Z (about 2 months ago)
- Topics: ruby, service-object, service-object-with-steps
- Language: Ruby
- Homepage: https://userdocs.convenientservice.org
- Size: 352 MB
- Stars: 41
- Watchers: 1
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/contributing.md
- License: LICENSE.txt
Awesome Lists containing this project
README
#StandWithUkraine
[](https://vshymanskyy.github.io/StandWithUkraine)
Convenient Service
[](https://www.ruby-lang.org/en/)
[](https://rubygems.org/gems/convenient_service) [](https://rubygems.org/gems/convenient_service)  [](https://github.com/marian13/convenient_service/actions/workflows/ci.yml) [](https://github.com/testdouble/standard) [](https://coveralls.io/github/marian13/convenient_service?branch=main) [](https://marian13.github.io/convenient_service/)
[](https://stackoverflow.com/tags/convenient-service)
[](https://www.patreon.com/user?u=31435716&fan_landing=true)
[](https://www.gnu.org/licenses/lgpl-3.0.html)
[](https://github.com/marian13/convenient_service) [](https://gitlab.com/marian13/convenient_service) [](https://codeberg.org/marian13/convenient_service)
Manage complex business logic in Ruby applications using Service Objects with Results and Steps.
Hide technical details with Configs, Concerns and Middlewares.
Group related code with Features and Entries.
## ❗❗❗ WARNING ❗❗❗
This library is on the final stage of development before the v1.0.0 version. 90% of the public API is polished, but it still may be subject to change. It has already been successfully used in production environments for more than two years. The stable release is planned rather sooner than later. Less and less breaking changes are expected. Use the current version at your own risk. Ruby 2.7+, JRuby 9.4+ (TruffleRuby support is planned as well). Thanks.
## Quick Links
- Visit the [All-in-One Presentation](https://marian13.github.io/static_content/convenient_service/presentations/all_in_one) to get a quick overview.
- Check out [Convenient Service Official User Docs](https://userdocs.convenientservice.org/) for installation, requirements, and usage guides.
- Read [the API docs](https://apidocs.convenientservice.org/) to get familiar with the newest functionality that is not documented yet.
- Create [an issue](https://github.com/marian13/convenient_service/issues) if you are going to report a bug.
- Start [a discussion](https://github.com/marian13/convenient_service/discussions) when you would like to request a new feature.
- Open a PR to [convenient_service_docs](https://github.com/marian13/convenient_service_docs) to add/update user docs.
- [RubyGems](https://rubygems.org/gems/convenient_service).
- [Static Content](https://github.com/marian13/static_content/tree/main/convenient_service) repo.
- [Convenient Service Integration](https://github.com/marian13/convenient_service_integration) machinery.
- Have a look at [Convenient Service Development Wiki](https://github.com/marian13/convenient_service/wiki) for the contribution tutorials.
---
Copyright (c) 2022-2026 Marian Kostyk.