/utils

Ruby core extentions and class utilities for Hanami

Primary LanguageRubyMIT LicenseMIT

Hanami::Utils

Ruby core extensions and class utilities for Hanami

Status

Gem Version Build Status Coverage Code Climate Dependencies Inline Docs

Contact

Rubies

Hanami::Utils supports Ruby (MRI) 2.3+, JRuby 9.1.5.0+

Installation

Add this line to your application's Gemfile:

gem 'hanami-utils'

And then execute:

$ bundle

Or install it yourself as:

$ gem install hanami-utils

Usage

Hanami::Utils is designed to enhance Ruby's code and stdlib. By default this gem doesn't load any code, you must require what you need.

Features

Hanami::Interactor

Standardized Service Object with small interface and rich returning result. [API doc]

Hanami::Logger

Enhanced version of Ruby's Logger. [API doc]

Hanami::Utils::BasicObject

Enhanced version of Ruby's BasicObject. [API doc]

Hanami::Utils::Blank

Checks for blank. [API doc]

Hanami::Utils::Callbacks

Callbacks to decorate methods with before and after logic. It supports polymorphic callbacks (methods and procs). [API doc]

Hanami::Utils::Class

Load classes from strings. It also supports namespaces. [API doc]

Hanami::Utils::ClassAttribute

Inheritable class attributes. [API doc]

Hanami::Utils::Deprecation

Deprecate Hanami features. [API doc]

Hanami::Utils::Duplicable

Safe #dup logic for Ruby objects. [API doc]

Hanami::Utils::Escape

Safe and fast escape for URLs, HTML content and attributes. Based on OWASP/ESAPI code. [API doc]

Hanami::Utils::FileList

Recursive, cross-platform ordered list of files. [API doc]

Hanami::Utils::Files

File utilities to manipulate files and directories. [API doc]

Hanami::Utils::Hash

Enhanced version of Ruby's Hash. [API doc]

Hanami::Utils::IO

Silence Ruby warnings. [API doc]

Hanami::Utils::Inflector

Complete and customizable english inflections (pluralization and singularization). [API doc]

Hanami::Utils::Json

JSON engine with swappable backends (via optional multi_json gem) or powered by Ruby's json (default). [API doc]

Hanami::Utils::Kernel

Type coercions for most common Ruby types. [API doc]

Hanami::Utils::LoadPaths

Manage directories where to find Ruby source code or web static assets. [API doc]

Hanami::Utils::PathPrefix

Safe logic to manage relative URLs. [API doc]

Hanami::Utils::String

Enhanced version of Ruby's String. [API doc]

Versioning

Hanami::Utils uses Semantic Versioning 2.0.0

Contributing

  1. Fork it ( https://github.com/hanami/utils/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Copyright

Copyright © 2014-2017 Luca Guidi – Released under MIT License

This project was formerly known as Lotus (lotus-utils).