Project

jace

0.0
Low commit activity in last 3 years
A long-lived project that still receives updates
Gem focused on events for meta-programing
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

Jace

CircleCI Gem Version Codacy Badge Codacy Badge Inline docs

jace

Yard Documentation

https://www.rubydoc.info/gems/jace/0.1.1

Jace is designed to have a semi event driven development

Using Jace::Registry, event handlers can be registered to events, and when an event is triggered, the block that triggers it is given to Jace, which will triger, around it, the +before+ and +after+ handlers

Current Release: 0.1.2

Next release: 0.2.0

Installation

  • Install it
  gem install jace
  • Or add Sinclair to your Gemfile and bundle install:
  gem 'jace'
  bundle install jace

Using

Initialize a registry, register event handlers nad trigger events

  class SomeContext
    def do_something(instant)
      puts "doing something #{instant}"
    end
  end

  registry = Jace::Registry.new
  context = SomeContext.new

  registry.register(:the_event) { do_something(:after) }
  registry.register(:the_event, :before) { do_something(:before) }

  registry.trigger(:the_event, context) do
   context.do_something(:middle)
  end

  # puts 'doing something before',
  # puts 'doing something middle',
  # puts 'doing something after'