fraggle-spanx 4.0.1.1

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.
@@ -0,0 +1,78 @@
1
+ require 'test/unit'
2
+ require 'fraggle/connection'
3
+
4
+ class TestConn
5
+ include Fraggle::Connection
6
+
7
+ attr_reader :sent, :received
8
+ attr_writer :err
9
+
10
+ def initialize(addr)
11
+ super(addr)
12
+ @sent = []
13
+ @received = []
14
+ @ticks = []
15
+ end
16
+
17
+ def send_request(req, blk)
18
+ @sent << super(req, blk)
19
+ req
20
+ end
21
+
22
+ def receive_response(res)
23
+ @received << res
24
+ super(res)
25
+ end
26
+
27
+ def send_data(_)
28
+ end
29
+
30
+ def close_connection
31
+ unbind
32
+ end
33
+
34
+ # Mimic EMs next_tick
35
+ def next_tick(&blk)
36
+ @ticks << blk
37
+ end
38
+
39
+ # Mimic a turn in the reactor
40
+ def tick!
41
+ @ticks.each {|blk| blk.call }
42
+ @ticks.clear
43
+ end
44
+
45
+ end
46
+
47
+ class Test::Unit::TestCase
48
+
49
+ C = Fraggle::Connection
50
+ V = Fraggle::Request::Verb
51
+ F = Fraggle::Response
52
+ E = Fraggle::Response::Err
53
+
54
+ class Log < Array
55
+ def call(e, err)
56
+ self << [e, err]
57
+ end
58
+
59
+ def to_proc
60
+ me = self
61
+ Proc.new {|e, err| me.call(e, err) }
62
+ end
63
+ end
64
+
65
+ def request(verb, attrs={})
66
+ logable(Fraggle::Request.new(attrs.merge(:verb => verb)))
67
+ end
68
+
69
+ def logable(req)
70
+ log = Log.new
71
+ [req, log]
72
+ end
73
+
74
+ def reply(tag, attrs={})
75
+ Fraggle::Response.new(attrs.merge(:tag => tag))
76
+ end
77
+
78
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fraggle-spanx
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.0.1.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Blake Mizerany
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2011-08-04 00:00:00.000000000 +01:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: beefcake-spanx
17
+ requirement: &70124608061300 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *70124608061300
26
+ - !ruby/object:Gem::Dependency
27
+ name: eventmachine
28
+ requirement: &70124608060880 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *70124608060880
37
+ - !ruby/object:Gem::Dependency
38
+ name: turn
39
+ requirement: &70124608060460 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: *70124608060460
48
+ - !ruby/object:Gem::Dependency
49
+ name: statsample
50
+ requirement: &70124608060040 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *70124608060040
59
+ - !ruby/object:Gem::Dependency
60
+ name: rake
61
+ requirement: &70124608059620 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: *70124608059620
70
+ description: An EventMachine Client for Doozer
71
+ email:
72
+ - blake.mizerany@gmail.com
73
+ executables: []
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - .gitignore
78
+ - Gemfile
79
+ - LICENSE
80
+ - README.md
81
+ - Rakefile
82
+ - bench/gs.rb
83
+ - example/getdir.rb
84
+ - example/readme.rb
85
+ - example/walk.rb
86
+ - example/watch.rb
87
+ - fraggle.gemspec
88
+ - lib/fraggle.rb
89
+ - lib/fraggle/client.rb
90
+ - lib/fraggle/connection.rb
91
+ - lib/fraggle/msg.pb.rb
92
+ - lib/fraggle/response.rb
93
+ - lib/fraggle/version.rb
94
+ - test/fraggle_client_test.rb
95
+ - test/fraggle_protocol_test.rb
96
+ - test/fraggle_test.rb
97
+ - test/fraggle_transaction_test.rb
98
+ - test/helper.rb
99
+ has_rdoc: true
100
+ homepage: ''
101
+ licenses: []
102
+ post_install_message:
103
+ rdoc_options: []
104
+ require_paths:
105
+ - lib
106
+ required_ruby_version: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ segments:
113
+ - 0
114
+ hash: 985476466983769739
115
+ required_rubygems_version: !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ segments:
122
+ - 0
123
+ hash: 985476466983769739
124
+ requirements: []
125
+ rubyforge_project: fraggle
126
+ rubygems_version: 1.6.2
127
+ signing_key:
128
+ specification_version: 3
129
+ summary: An EventMachine Client for Doozer
130
+ test_files:
131
+ - test/fraggle_client_test.rb
132
+ - test/fraggle_protocol_test.rb
133
+ - test/fraggle_test.rb
134
+ - test/fraggle_transaction_test.rb
135
+ - test/helper.rb