Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Erlectricity exposes Ruby to Erlang and vice versa.
tag: v0.2.1

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
examples
ext
lib
test
.gitignore
CONTRIBUTORS
History.txt
Manifest.txt
README.txt
Rakefile
erlectricity.gemspec
setup.rb

README.txt

erlectricity
  by Scott Fleckenstein
     Tom Preston-Werner
     
     http://github.com/mojombo/erlectricity
     
== DESCRIPTION:

Erlectricity allows a Ruby program to receive and respond to Erlang messages
sent over the Erlang binary protocol.

== INSTALL:

$ gem install erlectricity

== USAGE (Ruby side):

require 'rubygems'
require 'erlectricity'
require 'stringio'

receive do |f|
  f.when(:echo, String) do |text|
    f.send!(:result, "You said: #{text}")
    f.receive_loop
  end
end

== USAGE (Erlang side):

-module(echo).
-export([test/0]).

test() ->
  Cmd = "ruby echo.rb",
  Port = open_port({spawn, Cmd}, [{packet, 4}, use_stdio, exit_status, binary]), 
  Payload = term_to_binary({echo, <<"hello world!">>}),
  port_command(Port, Payload),
  receive
    {Port, {data, Data}} ->
      {result, Text} = binary_to_term(Data),
      io:format("~p~n", [Text])
  end.
Something went wrong with that request. Please try again.