CINXE.COM

dry-rb - Gems

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8" /><meta content="phone" media="(max-width: 480px)" name="breakpoint" /><meta content="width=device-width, initial-scale=1.0" name="viewport" /><link href="/feed.xml" rel="alternate" title="dry-rb news" type="application/atom+xml" /><link href="https://fonts.googleapis.com/css?family=Source+Code+Pro|Source+Sans+Pro:400,400i,600,600i" rel="stylesheet" /><link href="/images/favicon-651cfa16.png" rel="icon" /><link href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" rel="stylesheet" /><!--[if IE]><link href="/images/favicon.ico" rel="shortcut icon" /><![endif]--><title>dry-rb - Gems</title><link href="/assets/stylesheets/site-9fe218b6.css" rel="stylesheet" /><script src="/assets/javascripts/site-948a8a19.js"></script></head><body><header><div class="content-wrap"><nav class="main-nav"><ul class="main-nav__list"><li class="main-nav__logo"><a href="/">dry-rb</a></li><li class="main-nav__with-dropdown main-nav__item--selected"><a href="/gems">Gems <span class="hide-mobile">/ Docs </span></a><div class="main-nav__dropdown main-nav__dropdown--gems"><ul><li></li><a href="/gems/dry-auto_inject/1.0">dry-auto_inject</a><li></li><a href="/gems/dry-cli/1.1">dry-cli</a><li></li><a href="/gems/dry-configurable/1.0">dry-configurable</a><li></li><a href="/gems/dry-container/0.11">dry-container</a><li></li><a href="/gems/dry-core/1.0">dry-core</a><li></li><a href="/gems/dry-effects/0.4">dry-effects</a><li></li><a href="/gems/dry-equalizer/0.2">dry-equalizer</a><li></li><a href="/gems/dry-events/1.0">dry-events</a><li></li><a href="/gems/dry-files/1.0">dry-files</a><li></li><a href="/gems/dry-inflector/1.0">dry-inflector</a><li></li><a href="/gems/dry-initializer/3.1">dry-initializer</a><li></li><a href="/gems/dry-logger/1.0">dry-logger</a><li></li><a href="/gems/dry-logic/1.5">dry-logic</a></ul><ul><li></li><a href="/gems/dry-matcher/1.0">dry-matcher</a><li></li><a href="/gems/dry-monads/1.6">dry-monads</a><li></li><a href="/gems/dry-monitor/1.0">dry-monitor</a><li></li><a href="/gems/dry-operation/1.0">dry-operation</a><li></li><a href="/gems/dry-rails/0.7">dry-rails</a><li></li><a href="/gems/dry-schema/1.13">dry-schema</a><li></li><a href="/gems/dry-struct/1.6">dry-struct</a><li></li><a href="/gems/dry-system/1.0">dry-system</a><li></li><a href="/gems/dry-transaction/0.15">dry-transaction</a><li></li><a href="/gems/dry-transformer/1.0">dry-transformer</a><li></li><a href="/gems/dry-types/1.7">dry-types</a><li></li><a href="/gems/dry-validation/1.10">dry-validation</a><li></li><a href="/gems/dry-view/0.8">dry-view</a></ul></div></li><li><a href="/status">Status</a></li><li><a href="/news">News</a></li><li><a href="/community">Community</a></li><br class="mobile-only" /><li class="main-nav__search"><form class="searchbox"><input class="form-control" id="search-input" type="text" /></form><script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js" type="text/javascript"></script><script>docsearch({ apiKey: '77902a61218a8fbaa06a6125cb6589a7', indexName: 'dry-rb', inputSelector: '#search-input', debug: false // Set debug to true if you want to inspect the dropdown });</script></li><li class="main-nav__code"><a href="https://github.com/dry-rb">Github</a></li></ul></nav></div></header><div class="intro-page"><div class="content-wrap"><div class="intro-page__inner"><h1>Gems</h1></div></div></div><main><div class="row"><div class="content-wrap"><div class="article-list"><ul><li><h3 class="gem-header"><a href="/gems/dry-auto_inject/1.0">dry-auto_inject</a></h3><p>Container-agnostic constructor injection mixin</p></li><li><h3 class="gem-header"><a href="/gems/dry-cli/1.1">dry-cli</a></h3><p>General purpose Command Line Interface (CLI) framework</p></li><li><h3 class="gem-header"><a href="/gems/dry-configurable/1.0">dry-configurable</a></h3><p>Thread-safe configuration mixin</p></li><li><h3 class="gem-header"><a href="/gems/dry-container/0.11">dry-container</a></h3><p>Simple and thread-safe IoC container</p></li><li><h3 class="gem-header"><a href="/gems/dry-core/1.0">dry-core</a></h3><p>A toolset of small support modules used throughout the dry-rb & rom-rb ecosystems</p></li><li><h3 class="gem-header"><a href="/gems/dry-effects/0.4">dry-effects</a></h3><p>Algebraic effects in Ruby</p></li><li><h3 class="gem-header"><a href="/gems/dry-equalizer/0.2">dry-equalizer</a></h3><p>Simple mixin providing equality methods</p></li><li><h3 class="gem-header"><a href="/gems/dry-events/1.0">dry-events</a></h3><p>Standalone pub/sub API</p></li><li><h3 class="gem-header"><a href="/gems/dry-files/1.0">dry-files</a></h3><p>File utilities</p></li><li><h3 class="gem-header"><a href="/gems/dry-inflector/1.0">dry-inflector</a></h3><p>Standalone inflections</p></li><li><h3 class="gem-header"><a href="/gems/dry-initializer/3.1">dry-initializer</a></h3><p>DSL for defining initializer params and options</p></li><li><h3 class="gem-header"><a href="/gems/dry-logger/1.0">dry-logger</a></h3><p>Logging for Ruby applications</p></li><li><h3 class="gem-header"><a href="/gems/dry-logic/1.5">dry-logic</a></h3><p>Predicate logic with composable rules</p></li><li><h3 class="gem-header"><a href="/gems/dry-matcher/1.0">dry-matcher</a></h3><p>Flexible, expressive pattern matching</p></li><li><h3 class="gem-header"><a href="/gems/dry-monads/1.6">dry-monads</a></h3><p>Useful, common monads in idiomatic Ruby</p></li><li><h3 class="gem-header"><a href="/gems/dry-monitor/1.0">dry-monitor</a></h3><p>Instrumentation for Ruby applications</p></li><li><h3 class="gem-header"><a href="/gems/dry-operation/1.0">dry-operation</a></h3><p>Model your app鈥檚 business operations</p></li><li><h3 class="gem-header"><a href="/gems/dry-rails/0.7">dry-rails</a></h3><p>The dry-rb railtie</p></li><li><h3 class="gem-header"><a href="/gems/dry-schema/1.13">dry-schema</a></h3><p>Schema coercion & validation</p></li><li><h3 class="gem-header"><a href="/gems/dry-struct/1.6">dry-struct</a></h3><p>Attribute DSL for struct-like objects</p></li><li><h3 class="gem-header"><a href="/gems/dry-system/1.0">dry-system</a></h3><p>Organize your code into reusable components</p></li><li><h3 class="gem-header"><a href="/gems/dry-transaction/0.15">dry-transaction</a></h3><p>Business transaction DSL</p></li><li><h3 class="gem-header"><a href="/gems/dry-transformer/1.0">dry-transformer</a></h3><p>Data transformation toolkit</p></li><li><h3 class="gem-header"><a href="/gems/dry-types/1.7">dry-types</a></h3><p>Flexible type system with many built-in types</p></li><li><h3 class="gem-header"><a href="/gems/dry-validation/1.10">dry-validation</a></h3><p>Powerful data validation</p></li><li><h3 class="gem-header"><a href="/gems/dry-view/0.8">dry-view</a></h3><p>Functional, standalone view rendering</p></li></ul></div></div></div></main><footer><div class="content-wrap"><nav class="footer__links"><ul><li><a href="/gems"><span>Gems</span></a></li><li><a href="/community"><span>Community</span></a></li><li><a href="https://github.com/dry-rb"><span>Code</span></a></li><li><a href="https://discourse.dry-rb.org"><span>Discussion</span></a></li><li><a href="https://dry-rb.zulipchat.com"><span>Chat</span></a></li><li><a href="https://twitter.com/dry_rb"><span>Twitter</span></a></li></ul></nav><div class="footer__credits"><p>Website made with love by <a href="https://www.icelab.com.au/">Icelab</a>.</p></div><div class="footer__credits"><p>Found a typo? Want to add something? <br />Send us an issue or a pull-request at <a href="https://github.com/dry-rb/dry-rb.org/">GitHub</a>.</p></div></div></footer></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10