Eitil

Eitil (eitje utility) never stops increasing your life's efficacy and productivity, yay!

Our gem currently exists of five seperate layers (Railties), which can be integrated as standalone gems. This design is very much like that of rails, thus affinity with integrating rails should make eitil feel familiar.

Layers

  • EitilCore, docs > extends the core classes of Ruby and rails.
  • EitilSupport, docs > provides utility through stand-alone classes and modules.
  • EitilStore, docs > stores data in containers, such as Regexp instances.

Cherry picking utilities

Eitil has an extremely modular setup, which gives you fine-grained control over which monkey patches and rails wrappers you want to include into your project. Going from fine to coarse, there are 4 levels on which you can integrate eitil within your project:

1. include a single method

Almost each eitil method has it's own file, which you can easily require by it's path. To make things easy, both the docs and source code of the given method specify which path you should require.


require "eitil_core/hash/auto_dig"

# This will simply add the patched Hash#auto_dig into your main application.

2. include a collection of methods

All single method files are combined into collections, which you can efficiently include at once. For example, the previous auto_dig method can also be included by:


require "eitil_core/hash"

# This will add all Hash patches into your project.

3. include a whole layer

A whole layer, for example all utilities provided by EitilCore, can be included at once in your application.rb file:


# config/application.rb

module MyApplication
  class Application < Rails::Application   
    require 'eitil/eitil_core'
  end
end

4. include all alyers

Just like you can include a single eitil layer, you can also include them all at once:


# config/application.rb

module MyApplication
  class Application < Rails::Application   
    require 'eitil/all'
  end
end

Installation

Add eitil to your gemfile:


gem 'eitil', '1.0.0' # check the latest version on https://rubygems.org/gems/eitil