breakout 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,42 @@
1
+ class Chat
2
+
3
+ include Breakout::Worker
4
+
5
+ def initialize
6
+ @redis = Redis.new
7
+ end
8
+
9
+ def members
10
+ @redis.smembers "chat_members"
11
+ end
12
+
13
+ def member?(bid)
14
+ @redis.sismember "chat_members", bid
15
+ end
16
+
17
+ def add(bid)
18
+ @redis.sadd "chat_members", bid
19
+ end
20
+
21
+ def delete(bid)
22
+ @redis.srem "chat_members", bid
23
+ end
24
+
25
+ def do_work(sender, message)
26
+ if message.start_with? "/open"
27
+ unless member? sender
28
+ add sender
29
+ send_message "#{sender} has joined." => members
30
+ end
31
+ elsif message.start_with? "/close"
32
+ if member? sender
33
+ delete sender
34
+ disconnect sender
35
+ send_message "#{sender} has left." => members
36
+ end
37
+ elsif message != ''
38
+ send_message "#{sender}: #{message}" => members
39
+ end
40
+ end
41
+
42
+ end
@@ -8,6 +8,5 @@ require 'breakout/web_socket'
8
8
  require 'breakout/api'
9
9
  require 'breakout/app'
10
10
  require 'breakout/config'
11
- require 'lib/breakout/railtie' if defined?(Rails)
12
11
  require 'breakout/socket'
13
12
  require 'breakout/worker'
@@ -1,4 +1,4 @@
1
1
  module Breakout
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,24 +1,29 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: breakout
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.2
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.0.3
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Steve Masterman
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-05-02 00:00:00.000000000 -04:00
12
+
13
+ date: 2011-05-23 00:00:00 -04:00
13
14
  default_executable:
14
15
  dependencies: []
16
+
15
17
  description: Breakout routes messages among web browsers and workers using WebSockets.
16
- email:
18
+ email:
17
19
  - steve@vermonster.com
18
20
  executables: []
21
+
19
22
  extensions: []
23
+
20
24
  extra_rdoc_files: []
21
- files:
25
+
26
+ files:
22
27
  - .gitignore
23
28
  - .rvmrc
24
29
  - Gemfile
@@ -33,13 +38,13 @@ files:
33
38
  - examples/public/javascripts/echo.js
34
39
  - examples/public/javascripts/jquery-1.4.2.min.js
35
40
  - examples/public/javascripts/ping.js
41
+ - examples/redis_chat.rb
36
42
  - examples/web_app.rb
37
43
  - examples/worker_app.rb
38
44
  - lib/breakout.rb
39
45
  - lib/breakout/api.rb
40
46
  - lib/breakout/app.rb
41
47
  - lib/breakout/config.rb
42
- - lib/breakout/railtie.rb
43
48
  - lib/breakout/socket.rb
44
49
  - lib/breakout/version.rb
45
50
  - lib/breakout/web_socket.rb
@@ -50,26 +55,32 @@ files:
50
55
  has_rdoc: true
51
56
  homepage: https://github.com/steve9001/breakout
52
57
  licenses: []
58
+
53
59
  post_install_message:
54
60
  rdoc_options: []
55
- require_paths:
61
+
62
+ require_paths:
56
63
  - lib
57
- required_ruby_version: !ruby/object:Gem::Requirement
64
+ required_ruby_version: !ruby/object:Gem::Requirement
58
65
  none: false
59
- requirements:
60
- - - ! '>='
61
- - !ruby/object:Gem::Version
62
- version: '0'
63
- required_rubygems_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: "0"
70
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
71
  none: false
65
- requirements:
66
- - - ! '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: "0"
69
76
  requirements: []
77
+
70
78
  rubyforge_project: breakout
71
79
  rubygems_version: 1.6.2
72
80
  signing_key:
73
81
  specification_version: 3
74
82
  summary: Breakout routes messages among web browsers and workers using WebSockets.
75
- test_files: []
83
+ test_files:
84
+ - spec/breakout_spec.rb
85
+ - spec/spec.opts
86
+ - spec/spec_helper.rb
@@ -1,9 +0,0 @@
1
- require 'breakout'
2
- require 'rails'
3
-
4
- module Breakout
5
- class Railtie < Rails::Railtie
6
- railtie_name :breakout
7
- end
8
- end
9
-