Automate boring tests
Boring avatars is a tiny JavaScript React library that generates custom, SVG-based, round avatars from any username and color palette.
vue-boring-avatars is a Vue.js port of Boring Avatars, a JS library that generates custom, SVG-based avatars from any username and color palette.
Generateing a random, unique, heroku-like name for the motherbored. e.g. "gnarly-yield-2913"
Confidently unit and integration test your Next.js API routes/handlers in an isolated Next.js-like environment
Pane-embeddable coding agent. Ships direct/local/vercel-sandbox execution modes behind one interface.
A minimalist command line option parser.
Turn an agent into an app
ESLint rules that catch the most common test-suite mistakes: focused tests, direct DB access from tests, and orphaned test files.
Shared Node.js primitives for building AXI CLIs
Vue2 port of boring avatars
Boring avatars as a vanilla JavaScript library, SVG-based avatars from any username and color palette. Works in both browsers and Node.js server-side rendering.
Shared shadcn-style UI primitives for Boring packages and app-generated panes.
React Native implementation of boring avatars
Workspace UI, plugin, and bridge package for composing chat, files, catalogs, editors, and app-specific panes.
<div align="center"> <img src="https://raw.githubusercontent.com/kevinheavey/solana-bankrun/main/logo.png" width="50%" height="50%"> </div>
Foundation package for boring-ui-v2 apps: DB, auth, config, HTTP app factory, and frontend app shell.

A reusable package to quickly integrate boring vaults onto a UI.
A type-safe MobX router with parallel routing support.
Boring avatars is a tiny JavaScript React library that generates custom, SVG-based, round avatars from any username and color palette.
React Native implementation of boring avatars
A type-safe MobX router with parallel routing support.
A tiny (<10 line) function that uses webcrypto to get a SHA256 hash of a string.
This gem makes it possible to generate code based on preferences. You can use it to avoid the boring routine of writing tests, use some classes for other purposes, or just for fun.
# XQuery [](https://gitter.im/JelF/xquery?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://travis-ci.org/JelF/xquery) [](https://codeclimate.com/github/JelF/xquery) [](https://codeclimate.com/github/JelF/xquery/coverage) [](https://codeclimate.com/github/JelF/xquery) XQuery is designed to replace boring method call chains and allow to easier convert it in a builder classes ## Usage of `XQuery` function `XQuery` is a shortcat to `XQuery::Generic.with` ``` r = XQuery(''.html_safe) do |q| # similar to tap q << 'bla bla bla' q << 'bla bla bla' # using truncate q.truncate(15) # real content (q.send(:query)) mutated q << '!' end r # => "bla bla blab...!" ``` ## Usage of `XQuery::Abstract` I designed this gem to help me with `ActiveRecord` Queries, so i inherited `XQuery::Abstract` and used it's powers. It provides the following features ### `wrap_method` and `wrap_methods` when you call each of this methods they became automatically wrapped (`XQuery::Abstract` basically wraps all methods query `#respond_to?`) It means, that there are instance methods with same name defined and will change a `#query` to their call result. ``` self.query = query.foo(x) # is basically the same as foo(x) # when `wrap_method :foo` called ``` You can also specify new name using `wrap_method :foo, as: :bar` syntax ### `q` object `q` is a proxy object which holds all of wrapped methods, but not methods you defined inside your class. E.g. i have defined `wrap_method(:foo)`, but also delegated `#foo` to some another object. If i call `q.foo`, i will get wrapped method. Note, that if you redefine `#__foo` method, q.foo will call it instead of normal work. You can add additional methods to `q` using something like `alias_on_q :foo`. I used it with `kaminary` and it was useful ``` def page=(x) apply { |query| query.page(x) } end alias_on_q :page= def page query.current_page end alias_on_q :page ``` ### `query_superclass` You should specify `query_superclass` class_attribute to inherit `XQuery::Abstract`. Whenever `query.is_a?(query_superclass)` evaluate to false, you will get `XQuery::QuerySuperclassChanged` exception. It can save you much time when your class misconfigured. E.g. you are using `select!` and it returns `nil`, because why not? ### `#apply` method `#apply` does exact what it source tells ``` # yields query inside block # @param block [#to_proc] # @return [XQuery::Abstract] self def apply(&block) self.query = block.call(query) self end ``` It is usefull to merge different queries. ### `with` class method You can get XQuery functionality even you have not defined a specific class (You are still have to inherit XQuery::Abstract to use it) You can see it in this document when i described `XQuery` function. Note, that it yields a class instance, not `q` object. It accepts any arguments, they will be passed to a constructor (except block) ### `execute` method Preferred way to call public instance methods. Resulting query would be returned
No description provided.
No description provided.
No description provided.