Kyanite

bklippstein.github.com/kyanite/frames.html

Welcome to Kyanite. It’s a general toolbox like Facets or ActiveSupport.

Features

String

Better support for special letters like german umlauts. Reduce UTF8 strings to ASCII or less like humans whould do, not just deleting the accents. Compare Strings. Parse nested brackets. Database Helpers.

Class

Tools for reflection. Convert Class <=> String <=> Symbol.

Numeric Integer Float

General tools.

Range

Invert selection of an Array or String.

Array

General tools. Mean values. Sum, product, parallel.

Set

General tools. New class OrderedSet as alternative to SortedSet.

Hash Dictionary Tree

General tools.

Optimizer

Find objects with min or max score.

Undoable

Save and restore objects. Great for try-and-error-algorithms.

FSymbol

A comparable Symbol within a hierarchy: A more specific FSymbol is larger than a more general FSymbol.

Object CallerUtils

Repeats a block until the time is up. Silence Ruby warnings. Deep copy. Examine the call stack.

Usage

require 'kyanite'              # require all
require 'kyanite/basics'       # require basic Kyanite behavior and features  
require 'kyanite/string'       # require all String related stuff
require 'kyanite/string/diff'  # require all String#diff related stuff

If you use transparent_nil, require it first:

require 'transparent_nil'              
require 'kyanite'

More Info

Disclaimer

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.