rbridge 0.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.DS_Store +0 -0
- data/Authors.txt +8 -0
- data/History.txt +13 -0
- data/Manifest.txt +5 -3
- data/README.txt +10 -16
- data/Rakefile +2 -4
- data/bin/rulang +4 -0
- data/lib/erlang_adapter.rb +3 -2
- data/lib/rbridge.rb +4 -4
- data/lib/vosetools.rb +144 -0
- data/{lib/rulang.erl → rulang_server/rulang} +23 -13
- data/spec/rulang_spec.rb +11 -1
- data/spec/spec_helper.rb +10 -7
- data.tar.gz.sig +0 -0
- metadata +36 -11
- metadata.gz.sig +1 -0
- data/FORK.txt +0 -13
- data/lib/rulang.beam +0 -0
data/.DS_Store
ADDED
Binary file
|
data/Authors.txt
ADDED
data/History.txt
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
== 0.1.2 / 2008-01-10 (vosechu)
|
2
|
+
* major enhancements
|
3
|
+
* Runs headless by using the rulang command or via the command-line using the
|
4
|
+
-noshell switch to erl.
|
5
|
+
|
6
|
+
* bugs / limitations
|
7
|
+
* rulang command isn't ready for prime time at all
|
8
|
+
|
9
|
+
== 0.1.1 / 2008-01-07 (vosechu)
|
10
|
+
* 2 minor enhancements
|
11
|
+
* auto-detect whether someone has put a period at the end of a set of exprs
|
12
|
+
* updated specs catch a few more edge cases
|
13
|
+
|
1
14
|
== 0.1 / 2008-01-04 (vosechu)
|
2
15
|
|
3
16
|
* 1 major enhancement
|
data/Manifest.txt
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
-
|
1
|
+
.DS_Store
|
2
|
+
Authors.txt
|
2
3
|
GPL.txt
|
3
4
|
History.txt
|
4
5
|
Manifest.txt
|
5
6
|
README.txt
|
6
7
|
Rakefile
|
8
|
+
bin/rulang
|
7
9
|
lib/erlang_adapter.rb
|
8
10
|
lib/rbridge.rb
|
9
|
-
lib/
|
10
|
-
|
11
|
+
lib/vosetools.rb
|
12
|
+
rulang_server/rulang
|
11
13
|
spec/rulang_spec.rb
|
12
14
|
spec/spec_helper.rb
|
data/README.txt
CHANGED
@@ -1,28 +1,23 @@
|
|
1
1
|
rbridge
|
2
|
-
|
3
|
-
|
2
|
+
ruby-mnesia.rubyforge.com
|
3
|
+
by Toshiyuki Hirooka, Chuck Vose, Sean Steiger-McRae
|
4
4
|
|
5
5
|
== DESCRIPTION:
|
6
|
-
|
6
|
+
|
7
7
|
RBridge allows the use of Erlang code within a Ruby program. Optionally allowing
|
8
8
|
asynchronous access and ruby-like syntax or by using Erlang code directly when
|
9
9
|
more expressive or complex code is needed.
|
10
10
|
|
11
11
|
== FEATURES/PROBLEMS:
|
12
|
-
|
12
|
+
|
13
13
|
* Allows use of Erlang code within Ruby
|
14
14
|
* Doesn't yet allow Ruby code within Erlang
|
15
|
-
* Can't be started headless. Sockets are always closed.
|
16
15
|
|
17
16
|
== SYNOPSIS:
|
18
17
|
|
19
|
-
1.
|
20
|
-
$ erl
|
18
|
+
1. Start an instance of the rulang server by using bin/rulang
|
21
19
|
|
22
|
-
2.
|
23
|
-
1> rulang:start_server(9900).
|
24
|
-
|
25
|
-
3. Execute your ruby code by connecting (as shown below) to either the RBridge class if you want
|
20
|
+
2. Execute your ruby code by connecting (as shown below) to either the RBridge class if you want
|
26
21
|
asynchronous access and ruby style code access, or by connecting to the Erlang
|
27
22
|
class if you need more complicated code evaluation.
|
28
23
|
|
@@ -46,7 +41,7 @@ more expressive or complex code is needed.
|
|
46
41
|
* Erlang (erlang.org) -
|
47
42
|
There are current windows binaries as well as source for other oses. Installing
|
48
43
|
on OS X should just need: ./configure --prefix=/opt/local && make && sudo make install.
|
49
|
-
|
44
|
+
|
50
45
|
* Ruby (ruby-lang.org) -
|
51
46
|
On the downloads page if you skip past the source downloads there are a lot
|
52
47
|
of one-click installers for various oses. If you go with source you at least
|
@@ -54,14 +49,13 @@ more expressive or complex code is needed.
|
|
54
49
|
|
55
50
|
== INSTALL:
|
56
51
|
|
57
|
-
* sudo gem install
|
52
|
+
* sudo gem install rbridge
|
58
53
|
|
59
54
|
== LICENSE:
|
60
55
|
|
61
56
|
RBridge - A Ruby to Erlang bridge allowing the use of Erlang commands within
|
62
57
|
normal Ruby code.
|
63
|
-
Copyright (C)
|
64
|
-
Copyright (C) 2008 Chuck Vose <vosechu@gmail.com>
|
58
|
+
Copyright (C) 2008 Toshiyuki Hirooka <toshi.hirooka@gmail.com>
|
65
59
|
|
66
60
|
This program is free software; you can redistribute it and/or
|
67
61
|
modify it under the terms of the GNU General Public License
|
@@ -75,4 +69,4 @@ GNU General Public License for more details.
|
|
75
69
|
|
76
70
|
You should have received a copy of the GNU General Public License
|
77
71
|
along with this program; if not, write to the Free Software
|
78
|
-
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
72
|
+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
data/Rakefile
CHANGED
@@ -6,14 +6,12 @@ require './lib/rbridge.rb'
|
|
6
6
|
|
7
7
|
Hoe.new('rbridge', RBridge::VERSION) do |p|
|
8
8
|
p.rubyforge_name = 'ruby-mnesia'
|
9
|
-
p.author = 'Chuck Vose'
|
9
|
+
p.author = ['Chuck Vose', 'Toshiyuki Hirooka', 'Sean Steiger-McRae']
|
10
10
|
p.email = 'vosechu@gmail.com'
|
11
11
|
p.summary = 'RBridge allows the use of Erlang code within the Ruby environment'
|
12
|
-
p.description = p.paragraphs_of('README.txt',
|
12
|
+
p.description = p.paragraphs_of('README.txt', 1..4).join("\n\n")
|
13
13
|
p.url = p.paragraphs_of('README.txt', 0).first.split(/\n/)[1..-1]
|
14
14
|
p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
|
15
|
-
p.remote_rdoc_dir = '' # Release to root
|
16
|
-
p.rsync_args << ' --exclude=statsvn/'
|
17
15
|
end
|
18
16
|
|
19
17
|
# vim: syntax=Ruby
|
data/bin/rulang
ADDED
data/lib/erlang_adapter.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# RBridge - A Ruby to Erlang bridge allowing the use of Erlang commands within
|
2
2
|
# normal Ruby code.
|
3
|
-
# Copyright (C) 2008
|
3
|
+
# Copyright (C) 2008 Toshiyuki Hirooka <toshi.hirooka@gmail.com>
|
4
4
|
#
|
5
5
|
# This program is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU General Public License
|
@@ -36,7 +36,8 @@ class ErlangAdapter
|
|
36
36
|
|
37
37
|
# There has to be a trailing space at the end of a command for erl_scan:tokens
|
38
38
|
# to process the string.
|
39
|
-
|
39
|
+
command << '.' if command.scan(/\.\w*/).empty?
|
40
|
+
command << " "
|
40
41
|
socket.write(command)
|
41
42
|
socket.read # ...?
|
42
43
|
end
|
data/lib/rbridge.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# RBridge - A Ruby to Erlang bridge allowing the use of Erlang commands within
|
2
2
|
# normal Ruby code.
|
3
|
-
# Copyright (C) 2008
|
3
|
+
# Copyright (C) 2008 Toshiyuki Hirooka <toshi.hirooka@gmail.com>
|
4
4
|
#
|
5
5
|
# This program is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU General Public License
|
@@ -17,13 +17,13 @@
|
|
17
17
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
18
18
|
|
19
19
|
require "socket"
|
20
|
-
require "erlang_adapter"
|
20
|
+
require "lib/erlang_adapter"
|
21
21
|
|
22
22
|
#
|
23
23
|
# Erlang サーバの関数を Ruby のメソッドのように扱えるようにするクラス
|
24
24
|
#
|
25
25
|
class RBridge
|
26
|
-
VERSION = "0.1"
|
26
|
+
VERSION = "0.1.2"
|
27
27
|
|
28
28
|
# [Mod]
|
29
29
|
# Erlang module to use when using ruby-style access (the default is "erlang")
|
@@ -77,4 +77,4 @@ class RBridge
|
|
77
77
|
raise "[Error]=>#{res}"
|
78
78
|
end
|
79
79
|
end
|
80
|
-
end
|
80
|
+
end
|
data/lib/vosetools.rb
ADDED
@@ -0,0 +1,144 @@
|
|
1
|
+
# # These files may not be used in this project but are merely notes collected
|
2
|
+
# # and inserted into all of Chuck Vose's projects. Please disregard them
|
3
|
+
# # unless they help you.
|
4
|
+
|
5
|
+
# # PLUGINS:
|
6
|
+
# # Autotest with UnitRecord
|
7
|
+
# # By default, running autotest in the Rails directory will run the unit tests.
|
8
|
+
# # To run the functional tests, do: AUTOTEST='functional' autotest
|
9
|
+
# ruby script/plugin install http://svn.soniciq.com/public/rails/plugins/iq_autotest
|
10
|
+
# # Query Analyzer to see what we're doing under the surface
|
11
|
+
# # Courtesy of Bob Silva at http://agilewebdevelopment.com/plugins/query_analyzer
|
12
|
+
# ruby script/plugin install http://svn.nfectio.us/plugins/query_analyzer
|
13
|
+
# # Dev mode performance cacher by Josh Goebel
|
14
|
+
# # Caches dev code after file changes to make refreshes happen in the background
|
15
|
+
# ruby script/plugin install http://svn.techno-weenie.net/projects/plugins/dev_mode_performance_fixes/
|
16
|
+
# # Rspec for running BDD
|
17
|
+
# ruby script/plugin install svn://rubyforge.org/var/svn/rspec/tags/CURRENT/rspec
|
18
|
+
# ruby script/plugin install svn://rubyforge.org/var/svn/rspec/tags/CURRENT/rspec_on_rails
|
19
|
+
|
20
|
+
# # GEMS:
|
21
|
+
# # UnitRecord disconnects tests from the database and restructures tests into
|
22
|
+
# # Proper unit/functional tests. (Unit == no database, no externals). Run
|
23
|
+
# # rake vose:convert_to_unitrecord[_and_commit] after installing.
|
24
|
+
# sudo gem install unit_record
|
25
|
+
# # Zentest provides test generation and autotest for hands free testing
|
26
|
+
# # RSpec ~/.autotest file from http://reinh.com/2007/9/6/rspec-autotest-and-growl-oh-my
|
27
|
+
# # Test::Unit ~/.autotest file from
|
28
|
+
# sudo gem install zentest
|
29
|
+
# # Dust provides some handy helper methods to testing
|
30
|
+
# sudo gem install dust
|
31
|
+
# # Mocha allows cross unit tests by mocking and stubbing functions
|
32
|
+
# sudo gem install mocha
|
33
|
+
|
34
|
+
require 'rubygems'
|
35
|
+
# require 'mocha'
|
36
|
+
# require 'stubba'
|
37
|
+
# require 'dust'
|
38
|
+
|
39
|
+
# require 'factory'
|
40
|
+
|
41
|
+
module Vosetools
|
42
|
+
def log_p(message)
|
43
|
+
require 'pp'
|
44
|
+
|
45
|
+
p "*********************"
|
46
|
+
pp message
|
47
|
+
p "*********************"
|
48
|
+
|
49
|
+
# if !message.is_a?(Array)
|
50
|
+
# `growlnotify -m "#{message}"`
|
51
|
+
# end
|
52
|
+
end
|
53
|
+
|
54
|
+
def profile
|
55
|
+
require 'ruby-prof'
|
56
|
+
|
57
|
+
result = RubyProf.profile do
|
58
|
+
yield
|
59
|
+
end
|
60
|
+
|
61
|
+
# Print a flat profile to text
|
62
|
+
printer = RubyProf::FlatPrinter.new(result)
|
63
|
+
printer.print(STDOUT, 5)
|
64
|
+
end
|
65
|
+
|
66
|
+
# def has_a(obj)
|
67
|
+
# class_eval do
|
68
|
+
# define_method(:method_missing) do |*values|
|
69
|
+
# if obj.methods.include?(values[0])
|
70
|
+
# log_p values
|
71
|
+
# obj.send!(:values[0], values[1..(values.length-1)])
|
72
|
+
# end
|
73
|
+
# end
|
74
|
+
# end
|
75
|
+
# end
|
76
|
+
end
|
77
|
+
|
78
|
+
# # Adapted from http://sami.samhuri.net/2007/4/11/activerecord-base-find_or_create-and-find_or_initialize
|
79
|
+
# # Originally created by sjs
|
80
|
+
# module ActiveRecordExtensions
|
81
|
+
# def self.included(base)
|
82
|
+
# base.extend(ClassMethods)
|
83
|
+
# end
|
84
|
+
#
|
85
|
+
# module ClassMethods
|
86
|
+
# def find_or_create(params)
|
87
|
+
# begin
|
88
|
+
# return self.find(params[:id])
|
89
|
+
# rescue ActiveRecord::RecordNotFound => e
|
90
|
+
# attrs = {}
|
91
|
+
#
|
92
|
+
# # search for valid attributes in params
|
93
|
+
# self.column_names.map(&:to_sym).each do |attrib|
|
94
|
+
# # skip unknown columns, and the id field
|
95
|
+
# next if params[attrib].nil? || attrib == :id
|
96
|
+
#
|
97
|
+
# attrs[attrib] = params[attrib]
|
98
|
+
# end
|
99
|
+
#
|
100
|
+
# # call the appropriate ActiveRecord finder method
|
101
|
+
# found = self.send("find_by_#{attrs.keys.join('_and_')}", *attrs.values) if !attrs.empty?
|
102
|
+
#
|
103
|
+
# if found && !found.nil?
|
104
|
+
# return found
|
105
|
+
# else
|
106
|
+
# return self.create(params)
|
107
|
+
# end
|
108
|
+
# end
|
109
|
+
# end
|
110
|
+
# alias create_or_find find_or_create
|
111
|
+
# end
|
112
|
+
# end
|
113
|
+
#
|
114
|
+
# ActiveRecord::Base.send(:include, ActiveRecordExtensions)
|
115
|
+
|
116
|
+
# Copyright: Jay Philips
|
117
|
+
# jicksta.com/articles/2007/08/04/the-methodphitamine
|
118
|
+
module Kernel
|
119
|
+
protected
|
120
|
+
def it() It.new end
|
121
|
+
alias its it
|
122
|
+
end
|
123
|
+
|
124
|
+
class It
|
125
|
+
|
126
|
+
undef_method(*(instance_methods - %w*__id__ __send__*))
|
127
|
+
|
128
|
+
def initialize
|
129
|
+
@methods = []
|
130
|
+
end
|
131
|
+
|
132
|
+
def method_missing(*args, &block)
|
133
|
+
@methods << [args, block] unless args == [:respond_to?, :to_proc]
|
134
|
+
self
|
135
|
+
end
|
136
|
+
|
137
|
+
def to_proc
|
138
|
+
lambda do |obj|
|
139
|
+
@methods.inject(obj) do |current,(args,block)|
|
140
|
+
current.send(*args, &block)
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
@@ -1,6 +1,8 @@
|
|
1
|
+
#!/usr/bin/env escript
|
2
|
+
%% -*- erlang -*-
|
1
3
|
% RBridge - A Ruby to Erlang bridge allowing the use of Erlang commands within
|
2
4
|
% normal Ruby code.
|
3
|
-
% Copyright (C) 2008
|
5
|
+
% Copyright (C) 2008 Toshiyuki Hirooka <toshi.hirooka@gmail.com>
|
4
6
|
%
|
5
7
|
% This program is free software; you can redistribute it and/or
|
6
8
|
% modify it under the terms of the GNU General Public License
|
@@ -16,15 +18,28 @@
|
|
16
18
|
% along with this program; if not, write to the Free Software
|
17
19
|
% Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
18
20
|
|
19
|
-
-module(rulang).
|
20
21
|
-export([start_server/1, stop_server/0, loop/1, handle_connection/1]).
|
21
22
|
|
23
|
+
main([String]) ->
|
24
|
+
try
|
25
|
+
N = list_to_integer(String),
|
26
|
+
start_server(N)
|
27
|
+
catch
|
28
|
+
_:_ ->
|
29
|
+
usage()
|
30
|
+
end;
|
31
|
+
main(_) ->
|
32
|
+
start_server(9900).
|
33
|
+
|
34
|
+
usage() ->
|
35
|
+
io:format("./rulang [port number]").
|
36
|
+
|
22
37
|
% Start a server and connect to the port specified by the bound variable Port.
|
23
38
|
% If all goes according to plan start the rulang loop and display a happy message.
|
24
39
|
start_server(Port) ->
|
25
40
|
{ok, ListenSocket} = gen_tcp:listen(Port, [binary, {packet, 0}, {active, false}]),
|
26
41
|
io:format("[RBridge Server Started]~n"),
|
27
|
-
|
42
|
+
loop(ListenSocket).
|
28
43
|
|
29
44
|
|
30
45
|
% Just kill the parent thread.
|
@@ -40,15 +55,11 @@ loop(ListenSocket) ->
|
|
40
55
|
|
41
56
|
% If the connection is valid read the commands and attempt to eval them.
|
42
57
|
{ok, Socket} ->
|
43
|
-
|
58
|
+
spawn(fun() ->
|
59
|
+
handle_connection(Socket)
|
60
|
+
end),
|
44
61
|
% Continue the loop
|
45
|
-
loop(ListenSocket)
|
46
|
-
|
47
|
-
% The connection is broken so we should display the error to the console
|
48
|
-
% and drop the server so the heartbeat process can try to restart it.
|
49
|
-
{error, Reason} ->
|
50
|
-
error_logger:error_report(Reason),
|
51
|
-
stop_server()
|
62
|
+
loop(ListenSocket)
|
52
63
|
end.
|
53
64
|
|
54
65
|
% Wrapper that catches errors and closes the socket after we're done with it.
|
@@ -96,5 +107,4 @@ to_ruby(Expression) when is_integer(Expression) ->
|
|
96
107
|
to_ruby(Expression) when is_float(Expression) ->
|
97
108
|
Expression;
|
98
109
|
to_ruby(Expression) when is_atom(Expression) ->
|
99
|
-
atom_to_list(Expression).
|
100
|
-
|
110
|
+
atom_to_list(Expression).
|
data/spec/rulang_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# RBridge - A Ruby to Erlang bridge allowing the use of Erlang commands within
|
2
2
|
# normal Ruby code.
|
3
|
-
# Copyright (C) 2008 Chuck Vose <vosechu@gmail.com>
|
3
|
+
# Copyright (C) 2008 tosik <toshi.hirooka@gmail.com>, Chuck Vose <vosechu@gmail.com>
|
4
4
|
#
|
5
5
|
# This program is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU General Public License
|
@@ -16,6 +16,8 @@
|
|
16
16
|
# along with this program; if not, write to the Free Software
|
17
17
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
18
18
|
|
19
|
+
# require 'rubygems'
|
20
|
+
# require 'rbridge'
|
19
21
|
require 'spec/spec_helper'
|
20
22
|
|
21
23
|
describe "RBridge (erlang module)" do
|
@@ -82,4 +84,12 @@ describe "Direct Erlang code" do
|
|
82
84
|
it "should evaluate mathematical expressions" do
|
83
85
|
@e_raw.erl("10*10.").should eql(100)
|
84
86
|
end
|
87
|
+
|
88
|
+
it "should evaluate multiple expressions seperated by commas" do
|
89
|
+
@e_raw.erl("QH = [1,2,3,4,5], erlang:length(QH).").should eql(5)
|
90
|
+
end
|
91
|
+
|
92
|
+
it "should add a period if there isn't one at the end of an expression" do
|
93
|
+
@e_raw.erl("QH = [1,2,3,4,5], erlang:length(QH)").should eql(5)
|
94
|
+
end
|
85
95
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2008 Chuck Vose <vosechu@gmail.com>
|
1
|
+
# Copyright (C) 2008 tosik <toshi.hirooka@gmail.com>, Chuck Vose <vosechu@gmail.com>
|
2
2
|
#
|
3
3
|
# This program is free software; you can redistribute it and/or
|
4
4
|
# modify it under the terms of the GNU General Public License
|
@@ -14,6 +14,9 @@
|
|
14
14
|
# along with this program; if not, write to the Free Software
|
15
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
16
16
|
|
17
|
+
require 'lib/vosetools'
|
18
|
+
include Vosetools
|
19
|
+
|
17
20
|
exclude = ['spec/spec_helper.rb', 'lib/rulang.erl', 'lib/rulang.beam']
|
18
21
|
|
19
22
|
Dir.glob('lib/*').each do |file|
|
@@ -22,9 +25,9 @@ Dir.glob('lib/*').each do |file|
|
|
22
25
|
end
|
23
26
|
end
|
24
27
|
|
25
|
-
Dir.glob('spec/*').each do |file|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
end
|
28
|
+
# Dir.glob('spec/*').each do |file|
|
29
|
+
# unless exclude.include?(file)
|
30
|
+
# require file
|
31
|
+
# # log_p "requiring #{file}"
|
32
|
+
# end
|
33
|
+
# end
|
data.tar.gz.sig
ADDED
Binary file
|
metadata
CHANGED
@@ -1,15 +1,38 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbridge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ""
|
6
6
|
authors:
|
7
7
|
- Chuck Vose
|
8
|
+
- Toshiyuki Hirooka
|
9
|
+
- Sean Steiger-McRae
|
8
10
|
autorequire:
|
9
11
|
bindir: bin
|
10
|
-
cert_chain:
|
12
|
+
cert_chain:
|
13
|
+
- |
|
14
|
+
-----BEGIN CERTIFICATE-----
|
15
|
+
MIIDMDCCAhigAwIBAgIBADANBgkqhkiG9w0BAQUFADA+MRAwDgYDVQQDDAd2b3Nl
|
16
|
+
Y2h1MRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZFgNjb20w
|
17
|
+
HhcNMDgwMTA1MDE1OTQ3WhcNMDkwMTA0MDE1OTQ3WjA+MRAwDgYDVQQDDAd2b3Nl
|
18
|
+
Y2h1MRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZFgNjb20w
|
19
|
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtLL4OIhOk2DAMsf4Momug
|
20
|
+
NIyRD7C/IaKgCPLjTYxEJYlhdYdKlYWiC6wDMPbuCYGTlvYLlK/BztIWIrge+8kt
|
21
|
+
5F9AMZGDO9uJM9pSAxXKsKPo7jCnoU3SGdDxeyY6EdG7iGiQZ+s9ZNX7KarOxwk8
|
22
|
+
3CtEbF/cf7u6aYFOeitMKY/OO+Zjn7vKoiqgyrtRZVdcTUZlPNYIzicrH+N7/OTe
|
23
|
+
hjK45a2lok5OLaeYQ09epV8aZB5ir6HtL4wNAhlH0AP3OlUEjpqTa9vRixlvnCgh
|
24
|
+
lO2w9e+T5z9kBfpo3RHIjvIvcVFcSOiwdDY6/1RZNSa+2/NIMXM3XdDSFdNqNJdj
|
25
|
+
AgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBS9Lm6+
|
26
|
+
psxyrN9kHQ0AAqh3LyRdFDANBgkqhkiG9w0BAQUFAAOCAQEAPZlaZipuNWuki23P
|
27
|
+
nxr5j7sJuO9+zo0gGFmvB5XlMlmOaFQA3CIVh3xlDS7XIPxF62YK4VFRT/qHWGVb
|
28
|
+
LT9XUkGLoNi9rDV7ruC0ewMJuc3e2XL6V6/chAoYLOfM3DcfQDMYcE7wUoLxhWON
|
29
|
+
tzJDcZLhnOmxrLpGEDnbSyeAxKwGv6MYXSa6hdaOYwHMCBbSV8w6PTCmciWks1Vh
|
30
|
+
3lRJ8zVBx4TbMaQOZ4ctz0MKMOKveMH6kEZBoxYX8y/lxIb3jBR76KFUxbFvPO35
|
31
|
+
bWgAmoAm9dDQ0mKTmXgN5fLc5mzwX9vuVRjhNB6Co2bTcHt7J9E6uFZ43QkzPXMn
|
32
|
+
6uVjBw==
|
33
|
+
-----END CERTIFICATE-----
|
11
34
|
|
12
|
-
date: 2008-
|
35
|
+
date: 2008-03-10 00:00:00 -07:00
|
13
36
|
default_executable:
|
14
37
|
dependencies:
|
15
38
|
- !ruby/object:Gem::Dependency
|
@@ -21,33 +44,35 @@ dependencies:
|
|
21
44
|
- !ruby/object:Gem::Version
|
22
45
|
version: 1.4.0
|
23
46
|
version:
|
24
|
-
description: "==
|
47
|
+
description: "== DESCRIPTION: RBridge allows the use of Erlang code within a Ruby program. Optionally allowing asynchronous access and ruby-like syntax or by using Erlang code directly when more expressive or complex code is needed. == FEATURES/PROBLEMS: * Allows use of Erlang code within Ruby * Doesn't yet allow Ruby code within Erlang"
|
25
48
|
email: vosechu@gmail.com
|
26
|
-
executables:
|
27
|
-
|
49
|
+
executables:
|
50
|
+
- rulang
|
28
51
|
extensions: []
|
29
52
|
|
30
53
|
extra_rdoc_files:
|
31
|
-
-
|
54
|
+
- Authors.txt
|
32
55
|
- GPL.txt
|
33
56
|
- History.txt
|
34
57
|
- Manifest.txt
|
35
58
|
- README.txt
|
36
59
|
files:
|
37
|
-
-
|
60
|
+
- .DS_Store
|
61
|
+
- Authors.txt
|
38
62
|
- GPL.txt
|
39
63
|
- History.txt
|
40
64
|
- Manifest.txt
|
41
65
|
- README.txt
|
42
66
|
- Rakefile
|
67
|
+
- bin/rulang
|
43
68
|
- lib/erlang_adapter.rb
|
44
69
|
- lib/rbridge.rb
|
45
|
-
- lib/
|
46
|
-
-
|
70
|
+
- lib/vosetools.rb
|
71
|
+
- rulang_server/rulang
|
47
72
|
- spec/rulang_spec.rb
|
48
73
|
- spec/spec_helper.rb
|
49
74
|
has_rdoc: true
|
50
|
-
homepage:
|
75
|
+
homepage: ruby-mnesia.rubyforge.com
|
51
76
|
post_install_message:
|
52
77
|
rdoc_options:
|
53
78
|
- --main
|
metadata.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*�aMW�ώ�C�S�!(��b�p�ħH6�86�:�����e&��r�B0�����-}3���`�^FYG����78�G�f���[����ɔ�)m��-�a��j�^�W�M݁E`X~����Ŭ55*jdɶ>�Jzi��H�Z�2�?���ͱ ���3����9!������֩[�wY�Г���%"�F*�[�6��Q8b"����ͺr7%�7=����e�o/��A���t�o7s��JX���N|��Jh�
|
data/FORK.txt
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
This project is a fork of the project originally called RulangBridge by Toshi
|
2
|
-
Hirooka (?) aka tosik. I have done my best to contact the original author but
|
3
|
-
have received no response. I have also contacted the ruby-talk list to help me
|
4
|
-
find the original owner but again to no avail.
|
5
|
-
|
6
|
-
Therefore, in the interest of continuing this project I've renamed it and made
|
7
|
-
my changes. I hope that at some point the original author will find this file
|
8
|
-
and understand the position I was in.
|
9
|
-
|
10
|
-
Thanks should go out to the original author if they can be found. Until that
|
11
|
-
time I hope that this new project can fulfill the same goals.
|
12
|
-
|
13
|
-
-Chuck Vose, Jan 4 2008
|
data/lib/rulang.beam
DELETED
Binary file
|