No commit activity in last 3 years
No release in over 3 years
ASIR ActiveRecord Transport
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0.14.0
>= 0.9.0
~> 2.12.0
>= 0.1

Runtime

>= 3.0.0
>= 1.0.8
 Project Readme

Abstracting Services in Ruby

Objectives

  • Simplify service/client definitions.
  • Anticipate new encoding, delivery and security requirements.
  • Separate request/response encoding and delivery for composition.
  • Elide deployment decisions.
  • Integrate diagnostics and logging.
  • Simplify integration testing.

Features

  • One-way and two-way requests as Module or instance methods.
  • Request support:
    • Delayed requests.
    • Request meta-data: UUID, Timestamp.
  • Support for multiple request/response transports:
    • File.
    • Named Pipe.
    • TCP.
    • HTTP under WEBrick or as Rack application.
    • Beanstalkd. (gem asir_beanstalk)
    • ZeroMQ. (gem asir_zmq)
    • Resque. (gem asir_resque)
    • Buffered transports.
    • Broadcast transports.
    • Fallback transports.
    • Database transports (e.g.: gem asir_activerecord)
    • Time-decaying retry and polling logic.
  • Support for multiple encodings:
    • Marshal.
    • XML. (gem asir_xml)
    • JSON. (gem asir_json)
    • YAML.
    • Base64.
    • ZLib.
    • Chained encodings.
    • Signed payloads.

Platform support

  • CRuby 1.8.7
  • CRuby 1.9.3-head
  • CRuby 2.0-head
  • Rubinius 1.8 and 1.9 modes.
  • JRuby 1.6.x (with JRUBY_OPTS=—1.9) IN-PROGRESS