dripdrop 0.9.9 → 0.9.10

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/Rakefile CHANGED
@@ -13,9 +13,7 @@ begin
13
13
  gem.add_dependency('ffi-rzmq', '>= 0.7.1')
14
14
  gem.add_dependency('eventmachine', '>= 0.12.10')
15
15
  gem.add_dependency('em-websocket')
16
- gem.add_dependency('eventmachine_httpserver')
17
16
  gem.add_dependency('em-zeromq', '>= 0.1.2')
18
- gem.add_dependency('yajl-ruby')
19
17
  end
20
18
  Jeweler::GemcutterTasks.new
21
19
  rescue LoadError
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.9
1
+ 0.9.10
data/dripdrop.gemspec CHANGED
@@ -1,11 +1,11 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{dripdrop}
8
- s.version = "0.9.9"
8
+ s.version = "0.9.10"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andrew Cholakian"]
@@ -14,97 +14,89 @@ Gem::Specification.new do |s|
14
14
  s.email = %q{andrew@andrewvc.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
- "README.md"
17
+ "README.md"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.md",
24
- "Rakefile",
25
- "VERSION",
26
- "doc_img/topology.png",
27
- "dripdrop.gemspec",
28
- "example/agent_test.rb",
29
- "example/combined.rb",
30
- "example/complex/README",
31
- "example/complex/client.rb",
32
- "example/complex/server.rb",
33
- "example/complex/service.rb",
34
- "example/complex/websocket.rb",
35
- "example/http.rb",
36
- "example/pubsub.rb",
37
- "example/pushpull.rb",
38
- "example/subclass.rb",
39
- "example/xreq_xrep.rb",
40
- "js/dripdrop.html",
41
- "js/dripdrop.js",
42
- "js/qunit.css",
43
- "js/qunit.js",
44
- "lib/dripdrop.rb",
45
- "lib/dripdrop/agent.rb",
46
- "lib/dripdrop/handlers/base.rb",
47
- "lib/dripdrop/handlers/http.rb",
48
- "lib/dripdrop/handlers/websockets.rb",
49
- "lib/dripdrop/handlers/zeromq.rb",
50
- "lib/dripdrop/message.rb",
51
- "lib/dripdrop/node.rb",
52
- "lib/dripdrop/node/nodelet.rb",
53
- "spec/gimite-websocket.rb",
54
- "spec/message_spec.rb",
55
- "spec/node/http_spec.rb",
56
- "spec/node/nodelet_spec.rb",
57
- "spec/node/routing_spec.rb",
58
- "spec/node/websocket_spec.rb",
59
- "spec/node/zmq_pushpull_spec.rb",
60
- "spec/node/zmq_xrepxreq_spec.rb",
61
- "spec/node_spec.rb",
62
- "spec/spec_helper.rb"
21
+ "LICENSE",
22
+ "README.md",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "doc_img/topology.png",
26
+ "dripdrop.gemspec",
27
+ "example/agent_test.rb",
28
+ "example/combined.rb",
29
+ "example/complex/README",
30
+ "example/complex/client.rb",
31
+ "example/complex/server.rb",
32
+ "example/complex/service.rb",
33
+ "example/complex/websocket.rb",
34
+ "example/http.rb",
35
+ "example/pubsub.rb",
36
+ "example/pushpull.rb",
37
+ "example/subclass.rb",
38
+ "example/xreq_xrep.rb",
39
+ "js/dripdrop.html",
40
+ "js/dripdrop.js",
41
+ "js/qunit.css",
42
+ "js/qunit.js",
43
+ "lib/dripdrop.rb",
44
+ "lib/dripdrop/agent.rb",
45
+ "lib/dripdrop/handlers/base.rb",
46
+ "lib/dripdrop/handlers/http_client.rb",
47
+ "lib/dripdrop/handlers/http_server.rb",
48
+ "lib/dripdrop/handlers/websockets.rb",
49
+ "lib/dripdrop/handlers/zeromq.rb",
50
+ "lib/dripdrop/message.rb",
51
+ "lib/dripdrop/node.rb",
52
+ "lib/dripdrop/node/nodelet.rb",
53
+ "spec/gimite-websocket.rb",
54
+ "spec/message_spec.rb",
55
+ "spec/node/http_spec.rb",
56
+ "spec/node/nodelet_spec.rb",
57
+ "spec/node/routing_spec.rb",
58
+ "spec/node/websocket_spec.rb",
59
+ "spec/node/zmq_pushpull_spec.rb",
60
+ "spec/node/zmq_xrepxreq_spec.rb",
61
+ "spec/node_spec.rb",
62
+ "spec/spec_helper.rb"
63
63
  ]
64
64
  s.homepage = %q{http://github.com/andrewvc/dripdrop}
65
- s.rdoc_options = ["--charset=UTF-8"]
66
65
  s.require_paths = ["lib"]
67
- s.rubygems_version = %q{1.3.7}
66
+ s.rubygems_version = %q{1.5.1}
68
67
  s.summary = %q{Evented framework for ZeroMQ and EventMachine Apps.}
69
68
  s.test_files = [
69
+ "spec/gimite-websocket.rb",
70
+ "spec/message_spec.rb",
71
+ "spec/node/http_spec.rb",
72
+ "spec/node/nodelet_spec.rb",
73
+ "spec/node/routing_spec.rb",
74
+ "spec/node/websocket_spec.rb",
75
+ "spec/node/zmq_pushpull_spec.rb",
76
+ "spec/node/zmq_xrepxreq_spec.rb",
70
77
  "spec/node_spec.rb",
71
- "spec/spec_helper.rb",
72
- "spec/gimite-websocket.rb",
73
- "spec/message_spec.rb",
74
- "spec/node/nodelet_spec.rb",
75
- "spec/node/zmq_pushpull_spec.rb",
76
- "spec/node/zmq_xrepxreq_spec.rb",
77
- "spec/node/routing_spec.rb",
78
- "spec/node/websocket_spec.rb",
79
- "spec/node/http_spec.rb"
78
+ "spec/spec_helper.rb"
80
79
  ]
81
80
 
82
81
  if s.respond_to? :specification_version then
83
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
84
82
  s.specification_version = 3
85
83
 
86
84
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
87
85
  s.add_runtime_dependency(%q<ffi-rzmq>, [">= 0.7.1"])
88
86
  s.add_runtime_dependency(%q<eventmachine>, [">= 0.12.10"])
89
87
  s.add_runtime_dependency(%q<em-websocket>, [">= 0"])
90
- s.add_runtime_dependency(%q<eventmachine_httpserver>, [">= 0"])
91
88
  s.add_runtime_dependency(%q<em-zeromq>, [">= 0.1.2"])
92
- s.add_runtime_dependency(%q<yajl-ruby>, [">= 0"])
93
89
  else
94
90
  s.add_dependency(%q<ffi-rzmq>, [">= 0.7.1"])
95
91
  s.add_dependency(%q<eventmachine>, [">= 0.12.10"])
96
92
  s.add_dependency(%q<em-websocket>, [">= 0"])
97
- s.add_dependency(%q<eventmachine_httpserver>, [">= 0"])
98
93
  s.add_dependency(%q<em-zeromq>, [">= 0.1.2"])
99
- s.add_dependency(%q<yajl-ruby>, [">= 0"])
100
94
  end
101
95
  else
102
96
  s.add_dependency(%q<ffi-rzmq>, [">= 0.7.1"])
103
97
  s.add_dependency(%q<eventmachine>, [">= 0.12.10"])
104
98
  s.add_dependency(%q<em-websocket>, [">= 0"])
105
- s.add_dependency(%q<eventmachine_httpserver>, [">= 0"])
106
99
  s.add_dependency(%q<em-zeromq>, [">= 0.1.2"])
107
- s.add_dependency(%q<yajl-ruby>, [">= 0"])
108
100
  end
109
101
  end
110
102
 
@@ -0,0 +1,38 @@
1
+ class DripDrop
2
+ class HTTPClientHandler < BaseHandler
3
+ attr_reader :address, :opts
4
+
5
+ def initialize(uri, opts={})
6
+ @uri = uri
7
+ @address = @uri.to_s
8
+ @opts = opts
9
+ @message_class = @opts[:message_class] || DripDrop.default_message_class
10
+ end
11
+
12
+ def send_message(message,&block)
13
+ dd_message = dd_messagify(message)
14
+ if dd_message.is_a?(DripDrop::Message)
15
+ uri_path = @uri.path.empty? ? '/' : @uri.path
16
+
17
+ req = EM::Protocols::HttpClient.request(
18
+ :host => @uri.host, :port => @uri.port,
19
+ :request => uri_path, :verb => 'POST',
20
+ :contenttype => 'application/json',
21
+ :content => dd_message.encode_json
22
+ )
23
+ req.callback do |response|
24
+ begin
25
+ # Hack to fix evma http
26
+ response[:content] =~ /(\{.*\})/
27
+ fixed_body = $1
28
+ block.call(@message_class.decode(fixed_body)) if block
29
+ rescue StandardError => e
30
+ handle_error(e)
31
+ end
32
+ end
33
+ else
34
+ raise "Unsupported message type '#{dd_message.class}'"
35
+ end
36
+ end
37
+ end
38
+ end
@@ -1,4 +1,3 @@
1
- require 'eventmachine'
2
1
  require 'evma_httpserver'
3
2
 
4
3
  class DripDrop
@@ -57,42 +56,4 @@ class DripDrop
57
56
  self
58
57
  end
59
58
  end
60
-
61
-
62
- class HTTPClientHandler < BaseHandler
63
- attr_reader :address, :opts
64
-
65
- def initialize(uri, opts={})
66
- @uri = uri
67
- @address = @uri.to_s
68
- @opts = opts
69
- @message_class = @opts[:message_class] || DripDrop.default_message_class
70
- end
71
-
72
- def send_message(message,&block)
73
- dd_message = dd_messagify(message)
74
- if dd_message.is_a?(DripDrop::Message)
75
- uri_path = @uri.path.empty? ? '/' : @uri.path
76
-
77
- req = EM::Protocols::HttpClient.request(
78
- :host => @uri.host, :port => @uri.port,
79
- :request => uri_path, :verb => 'POST',
80
- :contenttype => 'application/json',
81
- :content => dd_message.encode_json
82
- )
83
- req.callback do |response|
84
- begin
85
- # Hack to fix evma http
86
- response[:content] =~ /(\{.*\})/
87
- fixed_body = $1
88
- block.call(@message_class.decode(fixed_body)) if block
89
- rescue StandardError => e
90
- handle_error(e)
91
- end
92
- end
93
- else
94
- raise "Unsupported message type '#{dd_message.class}'"
95
- end
96
- end
97
- end
98
59
  end
data/lib/dripdrop/node.rb CHANGED
@@ -10,7 +10,15 @@ require 'dripdrop/node/nodelet'
10
10
  require 'dripdrop/handlers/base'
11
11
  require 'dripdrop/handlers/zeromq'
12
12
  require 'dripdrop/handlers/websockets'
13
- require 'dripdrop/handlers/http'
13
+ require 'dripdrop/handlers/http_client'
14
+
15
+ begin
16
+ require 'dripdrop/handlers/http_server'
17
+ rescue LoadError => e
18
+ $stderr.write "Could not load http server, your probably don't have eventmachine_httpserver installed\n"
19
+ $stderr.write e.message + "\n"
20
+ $stderr.write e.backtrace.join("\t\n")
21
+ end
14
22
 
15
23
  class DripDrop
16
24
  class Node
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dripdrop
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 9
8
- - 9
9
- version: 0.9.9
4
+ prerelease:
5
+ version: 0.9.10
10
6
  platform: ruby
11
7
  authors:
12
8
  - Andrew Cholakian
@@ -25,10 +21,6 @@ dependencies:
25
21
  requirements:
26
22
  - - ">="
27
23
  - !ruby/object:Gem::Version
28
- segments:
29
- - 0
30
- - 7
31
- - 1
32
24
  version: 0.7.1
33
25
  type: :runtime
34
26
  version_requirements: *id001
@@ -40,10 +32,6 @@ dependencies:
40
32
  requirements:
41
33
  - - ">="
42
34
  - !ruby/object:Gem::Version
43
- segments:
44
- - 0
45
- - 12
46
- - 10
47
35
  version: 0.12.10
48
36
  type: :runtime
49
37
  version_requirements: *id002
@@ -55,52 +43,20 @@ dependencies:
55
43
  requirements:
56
44
  - - ">="
57
45
  - !ruby/object:Gem::Version
58
- segments:
59
- - 0
60
46
  version: "0"
61
47
  type: :runtime
62
48
  version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
64
- name: eventmachine_httpserver
65
- prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
67
- none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- segments:
72
- - 0
73
- version: "0"
74
- type: :runtime
75
- version_requirements: *id004
76
49
  - !ruby/object:Gem::Dependency
77
50
  name: em-zeromq
78
51
  prerelease: false
79
- requirement: &id005 !ruby/object:Gem::Requirement
52
+ requirement: &id004 !ruby/object:Gem::Requirement
80
53
  none: false
81
54
  requirements:
82
55
  - - ">="
83
56
  - !ruby/object:Gem::Version
84
- segments:
85
- - 0
86
- - 1
87
- - 2
88
57
  version: 0.1.2
89
58
  type: :runtime
90
- version_requirements: *id005
91
- - !ruby/object:Gem::Dependency
92
- name: yajl-ruby
93
- prerelease: false
94
- requirement: &id006 !ruby/object:Gem::Requirement
95
- none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- segments:
100
- - 0
101
- version: "0"
102
- type: :runtime
103
- version_requirements: *id006
59
+ version_requirements: *id004
104
60
  description: "Evented framework for ZeroMQ and EventMachine Apps. "
105
61
  email: andrew@andrewvc.com
106
62
  executables: []
@@ -112,7 +68,6 @@ extra_rdoc_files:
112
68
  - README.md
113
69
  files:
114
70
  - .document
115
- - .gitignore
116
71
  - LICENSE
117
72
  - README.md
118
73
  - Rakefile
@@ -138,7 +93,8 @@ files:
138
93
  - lib/dripdrop.rb
139
94
  - lib/dripdrop/agent.rb
140
95
  - lib/dripdrop/handlers/base.rb
141
- - lib/dripdrop/handlers/http.rb
96
+ - lib/dripdrop/handlers/http_client.rb
97
+ - lib/dripdrop/handlers/http_server.rb
142
98
  - lib/dripdrop/handlers/websockets.rb
143
99
  - lib/dripdrop/handlers/zeromq.rb
144
100
  - lib/dripdrop/message.rb
@@ -159,8 +115,8 @@ homepage: http://github.com/andrewvc/dripdrop
159
115
  licenses: []
160
116
 
161
117
  post_install_message:
162
- rdoc_options:
163
- - --charset=UTF-8
118
+ rdoc_options: []
119
+
164
120
  require_paths:
165
121
  - lib
166
122
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -168,32 +124,28 @@ required_ruby_version: !ruby/object:Gem::Requirement
168
124
  requirements:
169
125
  - - ">="
170
126
  - !ruby/object:Gem::Version
171
- segments:
172
- - 0
173
127
  version: "0"
174
128
  required_rubygems_version: !ruby/object:Gem::Requirement
175
129
  none: false
176
130
  requirements:
177
131
  - - ">="
178
132
  - !ruby/object:Gem::Version
179
- segments:
180
- - 0
181
133
  version: "0"
182
134
  requirements: []
183
135
 
184
136
  rubyforge_project:
185
- rubygems_version: 1.3.7
137
+ rubygems_version: 1.5.1
186
138
  signing_key:
187
139
  specification_version: 3
188
140
  summary: Evented framework for ZeroMQ and EventMachine Apps.
189
141
  test_files:
190
- - spec/node_spec.rb
191
- - spec/spec_helper.rb
192
142
  - spec/gimite-websocket.rb
193
143
  - spec/message_spec.rb
144
+ - spec/node/http_spec.rb
194
145
  - spec/node/nodelet_spec.rb
195
- - spec/node/zmq_pushpull_spec.rb
196
- - spec/node/zmq_xrepxreq_spec.rb
197
146
  - spec/node/routing_spec.rb
198
147
  - spec/node/websocket_spec.rb
199
- - spec/node/http_spec.rb
148
+ - spec/node/zmq_pushpull_spec.rb
149
+ - spec/node/zmq_xrepxreq_spec.rb
150
+ - spec/node_spec.rb
151
+ - spec/spec_helper.rb
data/.gitignore DELETED
@@ -1,27 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
- *.swo
16
- *.swn
17
-
18
- ## PROJECT::GENERAL
19
- coverage
20
- rdoc
21
- doc
22
- pkg
23
-
24
- #RBX
25
- *.rbc
26
-
27
- ## PROJECT::SPECIFIC