Skip to content
Erlectricity exposes Ruby to Erlang and vice versa.
Ruby C Erlang Shell
Find file
Pull request Compare This branch is 60 commits behind mojombo:master.
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

-or-

$ gem install mojombo-erlectricity -s http://gems.github.com

== CONTRIBUTE:

Contributions are welcome via GitHub! Fork the code from
http://github.com/mojombo/erlectricity and send a pull request to mojombo.

== USAGE (Ruby side):

require 'rubygems'
require 'erlectricity'

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.