linda-socket.io-client 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e3c7170093820f427432f0e0fde6a7cb8b953135
4
+ data.tar.gz: ffebba39185ec9212284c3699e56f6cb626ac46c
5
+ SHA512:
6
+ metadata.gz: 9de7901d6a8a53a8cb2124c0533312b7722a0277b23eda0feaa09adf3220b22280558cc5945072ffa312df82c10e2635c0f0a38e65b93f27e55911b0c2236afb
7
+ data.tar.gz: b54f421433a1fcbf44c3ea5b33b60120277a8d26ec5a7b8e0730d52c0ca85179c139e5a7a98d30a78add5343cd2fa2dcacd721afa699228bfd299e43e1faa849
data/.gitignore ADDED
@@ -0,0 +1,23 @@
1
+ *~
2
+ *#*
3
+ .DS_Store
4
+ *.gem
5
+ *.rbc
6
+ *.log
7
+ .bundle
8
+ .config
9
+ .yardoc
10
+ .ruby-version
11
+ InstalledFiles
12
+ _yardoc
13
+ coverage
14
+ doc/
15
+ lib/bundler/man
16
+ pkg
17
+ rdoc
18
+ spec/reports
19
+ test/tmp
20
+ test/version_tmp
21
+ tmp
22
+ vendor
23
+ node_modules
data/.travis.yml ADDED
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ node_js:
3
+ - "0.10"
4
+ rvm:
5
+ - 1.9.3
6
+ - 2.0.0
7
+ - jruby-head
8
+ before_script:
9
+ - npm install
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in linda-socket.io-client.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,37 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ linda-socket.io-client (0.0.1)
5
+ event_emitter
6
+ json
7
+ socket.io-client-simple (>= 0.0.3)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ event_emitter (0.2.5)
13
+ httparty (0.12.0)
14
+ json (~> 1.8)
15
+ multi_xml (>= 0.5.2)
16
+ json (1.8.1)
17
+ minitest (5.2.1)
18
+ multi_xml (0.5.5)
19
+ rake (10.1.1)
20
+ socket.io-client-simple (0.0.4)
21
+ event_emitter
22
+ httparty
23
+ json
24
+ websocket-client-simple (>= 0.0.6)
25
+ websocket (1.1.2)
26
+ websocket-client-simple (0.0.6)
27
+ event_emitter
28
+ websocket
29
+
30
+ PLATFORMS
31
+ ruby
32
+
33
+ DEPENDENCIES
34
+ bundler (~> 1.3)
35
+ linda-socket.io-client!
36
+ minitest
37
+ rake
data/History.txt ADDED
@@ -0,0 +1,3 @@
1
+ === 0.0.1 2014-1-21
2
+
3
+ * first release
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Sho Hashimoto
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,59 @@
1
+ # Linda::SocketIO::Client
2
+
3
+ - Ruby client for [linda-socket.io](https://github.com/node-linda/linda-socket.io)
4
+
5
+ [![Travis-CI build status](https://travis-ci.org/node-linda/linda-socket.io-client-ruby.png)](https://travis-ci.org/node-linda/linda-socket.io-client-ruby)
6
+
7
+
8
+ ## Installation
9
+
10
+ % gem install linda-socket.io-client
11
+
12
+
13
+ ## Usage
14
+
15
+ [samples/sample.rb](https://github.com/node-linda/linda-socket.io-client-ruby/blob/master/samples/sample.rb)
16
+ ```ruby
17
+ require 'rubygems'
18
+ require 'linda-socket.io-client'
19
+
20
+ linda = Linda::SocketIO::Client.connect 'http://node-linda-base.herokuapp.com'
21
+ ts = linda.tuplespace('test')
22
+
23
+ linda.io.on :connect do
24
+ puts "connect!! #{linda.url}"
25
+
26
+ ts.watch type: "chat" do |err, tuple|
27
+ next if err
28
+ msg = tuple["data"]["msg"]
29
+ puts "> #{msg}"
30
+ end
31
+ end
32
+
33
+ linda.io.on :disconnect do
34
+ puts "disconnect"
35
+ end
36
+
37
+ while line = STDIN.gets
38
+ line.strip!
39
+ next if line.empty?
40
+ ts.write(type: "chat", msg: line, at: Time.now)
41
+ end
42
+ ```
43
+
44
+
45
+ ## Test
46
+
47
+ % gem install bundler
48
+ % bundle install
49
+ % npm install
50
+ % bundle exec rake test
51
+
52
+
53
+ ## Contributing
54
+
55
+ 1. Fork it
56
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
57
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
58
+ 4. Push to the branch (`git push origin my-new-feature`)
59
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.pattern = "test/test_*.rb"
6
+ end
7
+
8
+ task :default => :test
@@ -0,0 +1,91 @@
1
+ module Linda
2
+ module SocketIO
3
+ module Client
4
+
5
+ def self.connect(url_or_io)
6
+ ::Linda::SocketIO::Client::Client.new(url_or_io)
7
+ end
8
+
9
+ class Client
10
+
11
+ attr_reader :io
12
+
13
+ def initialize(url_or_io)
14
+ if url_or_io.kind_of? String
15
+ @io = ::SocketIO::Client::Simple.connect url_or_io
16
+ elsif url_or_io.kind_of? ::SocketIO::Client::Simple::Client
17
+ @io = url_or_io
18
+ end
19
+ end
20
+
21
+ def tuplespace(name)
22
+ TupleSpace.new(self, name.to_s)
23
+ end
24
+
25
+ def url
26
+ @io.url
27
+ end
28
+
29
+ end
30
+
31
+ class TupleSpace
32
+
33
+ attr_reader :name
34
+
35
+ def initialize(linda, name)
36
+ @name = name
37
+ @linda = linda
38
+ @watch_callback_ids = {}
39
+ end
40
+
41
+ def write(tuple, opts={})
42
+ data = {:tuplespace => @name, :tuple => tuple, :options => opts}
43
+ @linda.io.emit '__linda_write', data
44
+ end
45
+
46
+ def take(tuple, &block)
47
+ return unless block_given?
48
+ id = create_callback_id
49
+ name = "__linda_take_#{id}"
50
+ io_cid = @linda.io.once name, &block
51
+ @linda.io.emit '__linda_take', {:tuplespace => @name, :tuple => tuple, :id => id}
52
+ return id
53
+ end
54
+
55
+ def read(tuple, &block)
56
+ return unless block_given?
57
+ id = create_callback_id
58
+ name = "__linda_read_#{id}"
59
+ io_cid = @linda.io.once name, &block
60
+ @linda.io.emit '__linda_read', {:tuplespace => @name, :tuple => tuple, :id => id}
61
+ return id
62
+ end
63
+
64
+ def watch(tuple, &block)
65
+ return unless block_given?
66
+ id = create_watch_callback_id tuple
67
+ name = "__linda_watch_#{id}"
68
+ io_cid = @linda.io.on name, &block
69
+ @linda.io.emit '__linda_watch', {:tuplespace => @name, :tuple => tuple, :id => id}
70
+ return id
71
+ end
72
+
73
+ def cancel(id)
74
+ @linda.io.emit '__linda_cancel', {:tuplespace => @name, :id => id}
75
+ end
76
+
77
+ private
78
+ def create_callback_id
79
+ "#{Time.now.to_i}_#{rand 10000}"
80
+ end
81
+
82
+ def create_watch_callback_id(tuple)
83
+ key = tuple.to_json
84
+ return @watch_callback_ids[key] ||= create_callback_id
85
+ end
86
+
87
+ end
88
+
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,8 @@
1
+ module Linda
2
+ module SocketIO
3
+ module Client
4
+ class Error < StandardError
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ module Linda
2
+ module SocketIO
3
+ module Client
4
+ VERSION = "0.0.1"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,14 @@
1
+ require "linda-socket.io-client/version"
2
+ require "linda-socket.io-client/error"
3
+ require "linda-socket.io-client/client"
4
+
5
+ require 'json'
6
+ require 'event_emitter'
7
+ require 'socket.io-client-simple'
8
+
9
+ module Linda
10
+ module SocketIO
11
+ module Client
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'linda-socket.io-client/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "linda-socket.io-client"
8
+ spec.version = Linda::SocketIO::Client::VERSION
9
+ spec.authors = ["Sho Hashimoto"]
10
+ spec.email = ["hashimoto@shokai.org"]
11
+ spec.description = %q{linda-socket.io client for Ruby}
12
+ spec.summary = spec.description
13
+ spec.homepage = "https://github.com/node-linda/linda-socket.io-client-ruby"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "minitest"
24
+
25
+ spec.add_dependency "json"
26
+ spec.add_dependency "event_emitter"
27
+ spec.add_dependency "socket.io-client-simple", '>= 0.0.3'
28
+ end
data/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "linda-socket.io-client-ruby",
3
+ "description": "Ruby client for linda-socket.io",
4
+ "private": true,
5
+ "author": "Sho Hashimoto <hashimoto@shokai.org>",
6
+ "license": "MIT",
7
+ "homepage": "https://github.com/node-linda/linda-socket.io-client-ruby",
8
+ "dependencies": {
9
+ "socket.io": "~0.9.16",
10
+ "linda-socket.io": "~0.1.5",
11
+ "coffee-script": "~1.6.3"
12
+ },
13
+ "devDependencies": {},
14
+ "scripts": {
15
+ "start": "./node_modules/coffee-script/bin/coffee samples/linda_server.coffee"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git://github.com/node-linda/linda-socket.io-client-ruby.git"
20
+ },
21
+ "bugs": {
22
+ "url": "https://github.com/node-linda/linda-socket.io-client-ruby/issues"
23
+ }
24
+ }
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env coffee
2
+ ## see https://github.com/node-linda/linda-socket.io
3
+
4
+ http = require 'http'
5
+
6
+ app = http.createServer()
7
+ io = require('socket.io').listen(app)
8
+ io.configure 'development', ->
9
+ ## io.set 'log level', 2
10
+
11
+ linda = require('linda-socket.io').Linda.listen(io: io, server: app)
12
+
13
+ linda.on 'write', (data) ->
14
+ console.log "write tuple - #{JSON.stringify data}"
15
+
16
+ linda.on 'watch', (data) ->
17
+ console.log "watch tuple - #{JSON.stringify data}"
18
+
19
+ port = (process.env.PORT || 3000) - 0
20
+ app.listen port
21
+ console.log "server start - port:#{port}"
22
+
23
+ if process.env.EXIT_AT?
24
+ setTimeout ->
25
+ process.exit()
26
+ , process.env.EXIT_AT-0
data/samples/sample.rb ADDED
@@ -0,0 +1,25 @@
1
+ $:.unshift File.expand_path '../lib', File.dirname(__FILE__)
2
+ require 'rubygems'
3
+ require 'linda-socket.io-client'
4
+
5
+ linda = Linda::SocketIO::Client.connect 'http://localhost:3000'
6
+ ts = linda.tuplespace('test')
7
+
8
+ linda.io.on :connect do
9
+ puts "connect!! #{linda.url}"
10
+
11
+ ts.watch type: "chat" do |err, tuple|
12
+ msg = tuple["data"]["msg"]
13
+ puts "> #{msg}"
14
+ end
15
+ end
16
+
17
+ linda.io.on :disconnect do
18
+ puts "disconnect"
19
+ end
20
+
21
+ while line = STDIN.gets
22
+ line.strip!
23
+ next if line.empty?
24
+ ts.write(type: "chat", msg: line, at: Time.now)
25
+ end
data/test/server.rb ADDED
@@ -0,0 +1,18 @@
1
+ class TestServer
2
+
3
+ def self.port
4
+ (ENV['PORT'] || 13000).to_i
5
+ end
6
+
7
+ def self.start(exit_at=5000)
8
+ system "PORT=#{port} EXIT_AT=#{exit_at} npm start > /dev/null &"
9
+ sleep 1
10
+ end
11
+
12
+ def self.url
13
+ "http://localhost:#{port}"
14
+ end
15
+
16
+ end
17
+
18
+ TestServer.start
@@ -0,0 +1,8 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'minitest/autorun'
4
+
5
+ require File.expand_path 'server', File.dirname(__FILE__)
6
+
7
+ $:.unshift File.expand_path '../lib', File.dirname(__FILE__)
8
+ require 'linda-socket.io-client'
@@ -0,0 +1,152 @@
1
+ require File.expand_path 'test_helper', File.dirname(__FILE__)
2
+
3
+ class TestLindaClient < MiniTest::Test
4
+
5
+ def create_client
6
+ socket = SocketIO::Client::Simple.connect TestServer.url
7
+ Linda::SocketIO::Client.connect socket
8
+ end
9
+
10
+ def test_connect
11
+ linda = Linda::SocketIO::Client.connect TestServer.url
12
+ result = false
13
+ linda.io.on :connect do
14
+ result = true
15
+ end
16
+ sleep 0.5
17
+ assert result
18
+ end
19
+
20
+ def test_socketio_client_wrap
21
+ socket = SocketIO::Client::Simple.connect TestServer.url
22
+ linda = Linda::SocketIO::Client.connect socket
23
+ result = false
24
+ linda.io.on :connect do
25
+ result = true
26
+ end
27
+ sleep 0.5
28
+ assert result
29
+ end
30
+
31
+ def test_write_watch
32
+ results = []
33
+ client = create_client
34
+ write_data = {"foo" => "bar", "at" => Time.now.to_s}
35
+
36
+ client.io.on :connect do
37
+ ts = client.tuplespace("test_write_watch")
38
+ ts.watch foo: "bar" do |err, tuple|
39
+ next if err
40
+ results.push tuple["data"]
41
+ end
42
+ ts.write a: "b", name: "shokai"
43
+ ts.write write_data
44
+ ts.write foo: "foo", name: "ymrl"
45
+ end
46
+ sleep 0.5
47
+ assert_equal results, [write_data]
48
+ end
49
+
50
+ def test_read_before_write
51
+ results = []
52
+ client = create_client
53
+ write_data = {"foo" => "bar", "at" => Time.now.to_s}
54
+
55
+ client.io.on :connect do
56
+ ts = client.tuplespace("test_read")
57
+ ts.read foo: "bar" do |err, tuple|
58
+ next if err
59
+ results.push tuple["data"]
60
+ end
61
+ ts.read foo: "bar" do |err, tuple|
62
+ next if err
63
+ results.push tuple["data"]
64
+ end
65
+ ts.write a: "b", name: "shokai"
66
+ ts.write write_data
67
+ ts.write foo: "foo", name: "ymrl"
68
+ end
69
+ sleep 0.5
70
+ assert_equal results, [write_data, write_data]
71
+ end
72
+
73
+ def test_take_before_write
74
+ results = []
75
+ client = create_client
76
+ write_data = {"foo" => "bar", "at" => Time.now.to_s}
77
+
78
+ client.io.on :connect do
79
+ ts = client.tuplespace("test_take")
80
+ ts.take foo: "bar" do |err, tuple|
81
+ next if err
82
+ results.push tuple["data"]
83
+ end
84
+ ts.take foo: "bar" do |err, tuple|
85
+ next if err
86
+ results.push tuple["data"]
87
+ end
88
+ ts.write a: "b", name: "shokai"
89
+ ts.write write_data
90
+ ts.write foo: "foo", name: "ymrl"
91
+ end
92
+ sleep 0.5
93
+ assert_equal results, [write_data]
94
+ end
95
+
96
+ def test_watch_cancel
97
+ results = []
98
+ client = create_client
99
+ write_data = {"foo" => "bar", "at" => Time.now}
100
+
101
+ client.io.on :connect do
102
+ ts = client.tuplespace("test_watch_cancel")
103
+ id = ts.watch foo: "bar" do |err, tuple|
104
+ next if err
105
+ results.push tuple["data"]
106
+ end
107
+ ts.cancel id
108
+ ts.write write_data
109
+ end
110
+ sleep 0.5
111
+ assert_equal results, []
112
+ end
113
+
114
+ def test_read_cancel
115
+ results = []
116
+ client = create_client
117
+ write_data = {"foo" => "bar", "at" => Time.now}
118
+
119
+ client.io.on :connect do
120
+ ts = client.tuplespace("test_read_cancel")
121
+ cid = ts.read foo: "bar" do |err, tuple|
122
+ next if err
123
+ results.push tuple["data"]
124
+ end
125
+ ts.cancel cid
126
+ ts.write write_data
127
+ end
128
+ sleep 0.5
129
+ assert_equal results, []
130
+ assert_equal client.io.__events.select{|e|e[:type].to_s =~ /read/}.size, 0
131
+ end
132
+
133
+ def test_take_cancel
134
+ results = []
135
+ client = create_client
136
+ write_data = {"foo" => "bar", "at" => Time.now}
137
+
138
+ client.io.on :connect do
139
+ ts = client.tuplespace("test_take_cancel")
140
+ cid = ts.take foo: "bar" do |err, tuple|
141
+ next if err
142
+ results.push tuple["data"]
143
+ end
144
+ ts.cancel cid
145
+ ts.write write_data
146
+ end
147
+ sleep 0.5
148
+ assert_equal results, []
149
+ assert_equal client.io.__events.select{|e|e[:type].to_s =~ /take/}.size, 0
150
+ end
151
+
152
+ end
metadata ADDED
@@ -0,0 +1,150 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: linda-socket.io-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Sho Hashimoto
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-01-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: json
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: event_emitter
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: socket.io-client-simple
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: 0.0.3
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: 0.0.3
97
+ description: linda-socket.io client for Ruby
98
+ email:
99
+ - hashimoto@shokai.org
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - .gitignore
105
+ - .travis.yml
106
+ - Gemfile
107
+ - Gemfile.lock
108
+ - History.txt
109
+ - LICENSE.txt
110
+ - README.md
111
+ - Rakefile
112
+ - lib/linda-socket.io-client.rb
113
+ - lib/linda-socket.io-client/client.rb
114
+ - lib/linda-socket.io-client/error.rb
115
+ - lib/linda-socket.io-client/version.rb
116
+ - linda-socket.io-client.gemspec
117
+ - package.json
118
+ - samples/linda_server.coffee
119
+ - samples/sample.rb
120
+ - test/server.rb
121
+ - test/test_helper.rb
122
+ - test/test_linda.rb
123
+ homepage: https://github.com/node-linda/linda-socket.io-client-ruby
124
+ licenses:
125
+ - MIT
126
+ metadata: {}
127
+ post_install_message:
128
+ rdoc_options: []
129
+ require_paths:
130
+ - lib
131
+ required_ruby_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - '>='
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ required_rubygems_version: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - '>='
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
141
+ requirements: []
142
+ rubyforge_project:
143
+ rubygems_version: 2.0.14
144
+ signing_key:
145
+ specification_version: 4
146
+ summary: linda-socket.io client for Ruby
147
+ test_files:
148
+ - test/server.rb
149
+ - test/test_helper.rb
150
+ - test/test_linda.rb