mongrel2 0.35.0 → 0.36.0

Sign up to get free protection for your applications and to get access to all the features.
data.tar.gz.sig CHANGED
Binary file
data/ChangeLog CHANGED
@@ -1,8 +1,119 @@
1
+ 2013-02-06 Michael Granger <ged@FaerieMUD.org>
2
+
3
+ * .tm_properties:
4
+ Set indent settings for RSpec too
5
+ [ad33b0c00c21] [tip]
6
+
7
+ * lib/mongrel2/request.rb:
8
+ Only log if wrapping a non-String body in a StringIO
9
+ [71eacd47e2b7]
10
+
11
+ 2013-01-11 Michael Granger <ged@FaerieMUD.org>
12
+
13
+ * .rvm.gems, Rakefile, lib/mongrel2.rb,
14
+ lib/mongrel2/config/handler.rb, lib/mongrel2/config/server.rb:
15
+ Updated Config model dataset declarations for Sequel versions >
16
+ 3.42.
17
+ [d1e574e548fb] [github/master]
18
+
19
+ 2012-12-21 Michael Granger <ged@FaerieMUD.org>
20
+
21
+ * bin/m2sh.rb:
22
+ Fix the 'start' subcommand of m2sh.rb.
23
+ [4462a9d4f889]
24
+
25
+ 2012-12-14 Michael Granger <ged@FaerieMUD.org>
26
+
27
+ * .hgtags:
28
+ Added tag v0.35.0 for changeset e2c0f9b4cf4b
29
+ [9dd24d2824a1]
30
+
31
+ * .hgsigs:
32
+ Added signature for changeset d19a29e2ca5f
33
+ [e2c0f9b4cf4b] [v0.35.0]
34
+
35
+ * History.rdoc, lib/mongrel2.rb:
36
+ Bump the minor version, update history.
37
+ [d19a29e2ca5f]
38
+
39
+ * lib/mongrel2/websocket.rb, spec/lib/constants.rb,
40
+ spec/mongrel2/websocket_spec.rb:
41
+ Allow opcodes to be set on WebSocket frames numerically.
42
+ [1a69ea26da95]
43
+
44
+ 2012-12-11 Michael Granger <ged@FaerieMUD.org>
45
+
46
+ * lib/mongrel2/connection.rb, lib/mongrel2/websocket.rb,
47
+ spec/mongrel2/websocket_spec.rb:
48
+ Add a #socket_id method to all WebSocket frame types.
49
+
50
+ * Created a Mongrel2::WebSocket::Methods mixin with the
51
+ implementation of the method.
52
+ * Included the new mixin in WebSocket::Frame,
53
+ WebSocket::ClientHandshake, and WebSocket::ServerHandshake
54
+ [8e34ca93f26f]
55
+
56
+ 2012-12-04 Michael Granger <ged@FaerieMUD.org>
57
+
58
+ * History.rdoc, lib/mongrel2.rb:
59
+ Bump the patch version, update history.
60
+ [20d86c77d502]
61
+
62
+ * lib/mongrel2/handler.rb:
63
+ Ensure the ZMQ context is closed when #run exits.
64
+ [840f17c017f7]
65
+
66
+ 2012-10-17 Michael Granger <ged@FaerieMUD.org>
67
+
68
+ * .hgtags:
69
+ Added tag v0.34.0 for changeset ca784c919dd4
70
+ [d4446ae7d890]
71
+
72
+ * .hgsigs:
73
+ Added signature for changeset 0c87b34361e7
74
+ [ca784c919dd4] [v0.34.0]
75
+
76
+ * History.rdoc, lib/mongrel2.rb:
77
+ Bump the minor version, update history.
78
+ [0c87b34361e7]
79
+
80
+ * lib/mongrel2/httprequest.rb, spec/mongrel2/httprequest_spec.rb:
81
+ Fall back to 'http' scheme if running under a Mongrel2 that doesn't
82
+ set the url-scheme header.
83
+ [b3ed74c32541]
84
+
85
+ * bin/m2sh.rb:
86
+ 'Fix the multiple-server case in 'm2sh.rb start'
87
+ [8aeffd89cdbb]
88
+
89
+ 2012-10-16 Michael Granger <ged@FaerieMUD.org>
90
+
91
+ * lib/mongrel2/httprequest.rb, spec/mongrel2/httprequest_spec.rb:
92
+ Add support for the new (edge) 'url-scheme' header
93
+
94
+ ...and build the #ssl? predicate on top of that.
95
+ [5f76d0a567fc]
96
+
97
+ * examples/config.rb, examples/run:
98
+ Try to make examples more tolerant of being run from other
99
+ directories
100
+ [05317bf262be]
101
+
102
+ * lib/mongrel2/testing.rb:
103
+ Add (1.8.0ish) url-scheme header to the defaults in mongrel2/testing
104
+ [035b536da40d]
105
+
106
+ 2012-10-03 Michael Granger <ged@FaerieMUD.org>
107
+
108
+ * lib/mongrel2/httpresponse.rb:
109
+ Remove some more chatty debug logging.
110
+ [4afe501d5125]
111
+
1
112
  2012-10-02 Michael Granger <ged@FaerieMUD.org>
2
113
 
3
114
  * .hgtags:
4
115
  Added tag v0.33.0 for changeset fcfe03af49a6
5
- [b79abaa5e19f] [tip]
116
+ [b79abaa5e19f]
6
117
 
7
118
  * .hgsigs:
8
119
  Added signature for changeset 4c64666f4255
@@ -105,7 +216,7 @@
105
216
 
106
217
  * .hgtags:
107
218
  Added tag v0.30.1 for changeset 01750f74082c
108
- [8208fbbc6641] [github/master]
219
+ [8208fbbc6641]
109
220
 
110
221
  * .hgsigs:
111
222
  Added signature for changeset 4ebef57dc78c
@@ -1,3 +1,15 @@
1
+ == v0.36.0 [2013-02-28] Michael Granger <ged@FaerieMUD.org>
2
+
3
+ - Fixes for Ruby 2.
4
+ - Fix status line for responses that have an explicit content-length.
5
+ This is so HEAD responses, for example, don't get reset to '204 No
6
+ Content' just because their body is empty.
7
+ - Convert ::for_uuid to a introspection-friendly dataset method.
8
+ - Only log if wrapping a non-String body in a StringIO
9
+ - Updated Config model dataset declarations for Sequel versions > 3.42.
10
+ - Fix the 'start' subcommand of m2sh.rb.
11
+
12
+
1
13
  == v0.35.0 [2012-12-11] Michael Granger <ged@FaerieMUD.org>
2
14
 
3
15
  - Allow WebSocket frames to be set to reserved opcodes
data/Rakefile CHANGED
@@ -26,7 +26,7 @@ hoespec = Hoe.spec 'mongrel2' do
26
26
  self.developer 'Michael Granger', 'ged@FaerieMUD.org'
27
27
 
28
28
  self.dependency 'nokogiri', '~> 1.5'
29
- self.dependency 'sequel', '~> 3.39'
29
+ self.dependency 'sequel', '~> 3.44'
30
30
  self.dependency 'tnetstring', '~> 0.3'
31
31
  self.dependency 'yajl-ruby', '~> 1.0'
32
32
  self.dependency 'trollop', '~> 2.0'
@@ -35,8 +35,8 @@ hoespec = Hoe.spec 'mongrel2' do
35
35
  self.dependency 'loggability','~> 0.5'
36
36
  self.dependency 'sqlite3', '~> 1.3'
37
37
 
38
- self.dependency 'configurability', '~> 1.2', :developer
39
- self.dependency 'simplecov', '~> 0.6', :developer
38
+ self.dependency 'configurability', '~> 2.0', :developer
39
+ self.dependency 'simplecov', '~> 0.7', :developer
40
40
  self.dependency 'hoe-deveiate', '~> 0.1', :developer
41
41
 
42
42
  self.spec_extras[:licenses] = ["BSD"]
@@ -452,18 +452,17 @@ class Mongrel2::M2SHCommand
452
452
  # Change into the server's chroot directory so paths line up whether or not
453
453
  # it's started as root
454
454
 
455
- header "Starting mongrel2 at: #{url}."
456
- Dir.chdir( server.chroot ) do
455
+ message '*' * 70
456
+ header "Starting mongrel2 at: #{url}"
457
+ message '*' * 70
458
+
459
+ if server.chroot && server.chroot != '' && server.chroot != '.'
460
+ Dir.chdir( server.chroot )
457
461
  message " changed PWD to: #{Dir.pwd}"
458
- Mongrel2::Config.log_action( "Starting server: #{server}", self.options.why )
459
- self.log.debug " command is: #{Shellwords.shelljoin(cmd)}"
460
- exec( *cmd )
461
462
  end
462
463
 
463
464
  Mongrel2::Config.log_action( "Starting server: #{server}", self.options.why )
464
- message '*' * 70
465
- header "Starting mongrel2 at: #{url}"
466
- message '*' * 70
465
+ self.log.debug " command is: #{Shellwords.shelljoin(cmd)}"
467
466
  exec( *cmd )
468
467
  end
469
468
  help :start, "Starts a server."
@@ -1,4 +1,5 @@
1
- #!/usr/bin/env ruby
1
+ # -*- ruby -*-
2
+ #encoding: utf-8
2
3
 
3
4
  require 'loggability'
4
5
  require 'zmq'
@@ -20,10 +21,10 @@ module Mongrel2
20
21
  abort "\n\n>>> Mongrel2 requires Ruby 1.9.2 or later. <<<\n\n" if RUBY_VERSION < '1.9.2'
21
22
 
22
23
  # Library version constant
23
- VERSION = '0.35.0'
24
+ VERSION = '0.36.0'
24
25
 
25
26
  # Version-control revision constant
26
- REVISION = %q$Revision: d19a29e2ca5f $
27
+ REVISION = %q$Revision: c7c83589ab0f $
27
28
 
28
29
 
29
30
  require 'mongrel2/constants'
@@ -6,12 +6,12 @@ require 'mongrel2/config' unless defined?( Mongrel2::Config )
6
6
  # Mongrel2 Directory (Dir) configuration class
7
7
  class Mongrel2::Config::Directory < Mongrel2::Config( :directory )
8
8
 
9
- ### As of Mongrel2/1.7.5:
9
+ ### As of Mongrel2/1.8.0:
10
10
  # CREATE TABLE directory (id INTEGER PRIMARY KEY,
11
- # base TEXT,
12
- # index_file TEXT,
13
- # default_ctype TEXT,
14
- # cache_ttl INTEGER DEFAULT 0);
11
+ # base TEXT,
12
+ # index_file TEXT,
13
+ # default_ctype TEXT,
14
+ # cache_ttl INTEGER DEFAULT 0);
15
15
 
16
16
  ### Sequel validation callback: add errors if the record is invalid.
17
17
  def validate
@@ -30,7 +30,7 @@ require 'mongrel2/config' unless defined?( Mongrel2::Config )
30
30
  #
31
31
  class Mongrel2::Config::Filter < Mongrel2::Config( :filter )
32
32
 
33
- ### As of Mongrel2/1.7.5:
33
+ ### As of Mongrel2/1.8.0:
34
34
  # CREATE TABLE filter (id INTEGER PRIMARY KEY,
35
35
  # server_id INTEGER,
36
36
  # name TEXT,
@@ -6,14 +6,14 @@ require 'mongrel2/config' unless defined?( Mongrel2::Config )
6
6
  # Mongrel2 Handler configuration class
7
7
  class Mongrel2::Config::Handler < Mongrel2::Config( :handler )
8
8
 
9
- ### As of Mongrel2/1.7.5:
9
+ ### As of Mongrel2/1.8.0:
10
10
  # CREATE TABLE handler (id INTEGER PRIMARY KEY,
11
11
  # send_spec TEXT,
12
12
  # send_ident TEXT,
13
13
  # recv_spec TEXT,
14
14
  # recv_ident TEXT,
15
- # raw_payload INTEGER DEFAULT 0,
16
- # protocol TEXT DEFAULT 'json');
15
+ # raw_payload INTEGER DEFAULT 0,
16
+ # protocol TEXT DEFAULT 'json');
17
17
 
18
18
 
19
19
  #
@@ -42,8 +42,10 @@ class Mongrel2::Config::Handler < Mongrel2::Config( :handler )
42
42
  # :method: by_send_ident( uuid )
43
43
  #
44
44
  # Look up a Handler by its send_ident, which should be a +uuid+ or similar String.
45
- def_dataset_method( :by_send_ident ) do |send_ident|
46
- filter( :send_ident => send_ident )
45
+ dataset_module do
46
+ def by_send_ident( ident )
47
+ return self.filter( :send_ident => ident )
48
+ end
47
49
  end
48
50
 
49
51
 
@@ -6,8 +6,8 @@ require 'mongrel2/config' unless defined?( Mongrel2::Config )
6
6
  # Mongrel2 Host configuration class
7
7
  class Mongrel2::Config::Host < Mongrel2::Config( :host )
8
8
 
9
- ### As of Mongrel2/1.7.5:
10
- # CREATE TABLE host (id INTEGER PRIMARY KEY,
9
+ ### As of Mongrel2/1.8.0:
10
+ # CREATE TABLE host (id INTEGER PRIMARY KEY,
11
11
  # server_id INTEGER,
12
12
  # maintenance BOOLEAN DEFAULT 0,
13
13
  # name TEXT,
@@ -9,7 +9,7 @@ require 'mongrel2/config' unless defined?( Mongrel2::Config )
9
9
  # Mongrel2 configuration Log class
10
10
  class Mongrel2::Config::Log < Mongrel2::Config( :log )
11
11
 
12
- ### As of Mongrel2/1.7.5:
12
+ ### As of Mongrel2/1.8.0:
13
13
  # CREATE TABLE log(id INTEGER PRIMARY KEY,
14
14
  # who TEXT,
15
15
  # what TEXT,
@@ -6,10 +6,10 @@ require 'mongrel2/config' unless defined?( Mongrel2::Config )
6
6
  # Mongrel2 Mimetype configuration class
7
7
  class Mongrel2::Config::Mimetype < Mongrel2::Config( :mimetype )
8
8
 
9
- ### As of Mongrel2/1.7.5:
9
+ ### As of Mongrel2/1.8.0:
10
10
  # CREATE TABLE mimetype (id INTEGER PRIMARY KEY,
11
- # mimetype TEXT,
12
- # extension TEXT);
11
+ # mimetype TEXT,
12
+ # extension TEXT);
13
13
 
14
14
  end # class Mongrel2::Config::Mimetype
15
15
 
@@ -6,7 +6,7 @@ require 'mongrel2/config' unless defined?( Mongrel2::Config )
6
6
  # Mongrel2 Proxy configuration class
7
7
  class Mongrel2::Config::Proxy < Mongrel2::Config( :proxy )
8
8
 
9
- ### As of Mongrel2/1.7.5:
9
+ ### As of Mongrel2/1.8.0:
10
10
  # CREATE TABLE proxy (id INTEGER PRIMARY KEY,
11
11
  # addr TEXT,
12
12
  # port INTEGER);
@@ -6,7 +6,7 @@ require 'mongrel2/config' unless defined?( Mongrel2::Config )
6
6
  # Mongrel2 Route configuration class
7
7
  class Mongrel2::Config::Route < Mongrel2::Config( :route )
8
8
 
9
- ### As of Mongrel2/1.7.5:
9
+ ### As of Mongrel2/1.8.0:
10
10
  # CREATE TABLE route (id INTEGER PRIMARY KEY,
11
11
  # path TEXT,
12
12
  # reversed BOOLEAN DEFAULT 0,
@@ -12,7 +12,7 @@ require 'mongrel2/constants'
12
12
  class Mongrel2::Config::Server < Mongrel2::Config( :server )
13
13
  include Mongrel2::Constants
14
14
 
15
- ### As of Mongrel2/1.7.5:
15
+ ### As of Mongrel2/1.8.0:
16
16
  # CREATE TABLE server (id INTEGER PRIMARY KEY,
17
17
  # uuid TEXT,
18
18
  # access_log TEXT,
@@ -30,7 +30,11 @@ class Mongrel2::Config::Server < Mongrel2::Config( :server )
30
30
  # :singleton-method: by_uuid
31
31
  # :call-seq:
32
32
  # by_uuid( uuid )
33
- def_dataset_method( :by_uuid ) {|uuid| filter(:uuid => uuid).limit(1) }
33
+ dataset_module do
34
+ def by_uuid( uuid )
35
+ filter(:uuid => uuid).limit(1)
36
+ end
37
+ end
34
38
 
35
39
 
36
40
  ##
@@ -6,10 +6,10 @@ require 'mongrel2/config' unless defined?( Mongrel2::Config )
6
6
  # Mongrel2 Setting configuration class
7
7
  class Mongrel2::Config::Setting < Mongrel2::Config( :setting )
8
8
 
9
- ### As of Mongrel2/1.7.5:
10
- # CREATE TABLE setting (id INTEGER PRIMARY KEY,
11
- # key TEXT,
12
- # value TEXT);
9
+ ### As of Mongrel2/1.8.0:
10
+ # CREATE TABLE setting (id INTEGER PRIMARY KEY,
11
+ # key TEXT,
12
+ # value TEXT);
13
13
 
14
14
  end # class Mongrel2::Config::Setting
15
15
 
@@ -6,11 +6,11 @@ require 'mongrel2/config' unless defined?( Mongrel2::Config )
6
6
  # Mongrel2 configuration statistic class
7
7
  class Mongrel2::Config::Statistic < Mongrel2::Config( :statistic )
8
8
 
9
- ### As of Mongrel2/1.7.5:
10
- # CREATE TABLE statistic (id SERIAL,
9
+ # As of Mongrel2-1.8.0:
10
+ # CREATE TABLE statistic (id SERIAL,
11
11
  # other_type TEXT,
12
12
  # other_id INTEGER,
13
- # name text,
13
+ # name TEXT,
14
14
  # sum REAL,
15
15
  # sumsq REAL,
16
16
  # n INTEGER,
@@ -1,4 +1,5 @@
1
- #!/usr/bin/ruby
1
+ # -*- ruby -*-
2
+ #encoding: utf-8
2
3
 
3
4
  require 'socket'
4
5
  require 'zmq'
@@ -123,7 +124,7 @@ class Mongrel2::Connection
123
124
  self.check_closed
124
125
  header = "%s %d:%s," % [ sender_id, conn_id.to_s.length, conn_id ]
125
126
  buf = header + ' ' + data
126
- self.log.debug "Sending response (PUB): %p" % [ buf ]
127
+ self.log.debug "Sending response (PUB)"
127
128
  self.response_sock.send( buf )
128
129
  self.log.debug " done with send (%d bytes)" % [ buf.bytesize ]
129
130
  end
@@ -1,4 +1,5 @@
1
- #!/usr/bin/env ruby
1
+ #-*- ruby -*-
2
+ #encoding: utf-8
2
3
 
3
4
  require 'zmq'
4
5
  require 'loggability'
@@ -73,7 +73,7 @@ class Mongrel2::HTTPResponse < Mongrel2::Response
73
73
 
74
74
  ### Send the response status to the client
75
75
  def status_line
76
- st = self.status || (self.body.size.zero? ? HTTP::NO_CONTENT : HTTP::OK)
76
+ st = self.status || self.derived_status_code
77
77
  return STATUS_LINE_FORMAT % [ st, HTTP::STATUS_NAME[st] ]
78
78
  end
79
79
 
@@ -222,6 +222,21 @@ class Mongrel2::HTTPResponse < Mongrel2::Response
222
222
  ]
223
223
  end
224
224
 
225
+ ### Return the numeric HTTP status code for the response bsaed on what has already been
226
+ ### set
227
+ def derived_status_code
228
+ # If there's a non-empty entity body, or the content length has been set explicitly
229
+ # to something non-zero, assume the response is OK
230
+ if self.body.size.nonzero? ||
231
+ (self.header.content_length && self.header.content_length.nonzero?)
232
+ return HTTP::OK
233
+
234
+ # otherwise set it to 204
235
+ else
236
+ return HTTP::NO_CONTENT
237
+ end
238
+ end
239
+
225
240
  end # class Mongrel2::Response
226
241
 
227
242
  # vim: set nosta noet ts=4 sw=4:
@@ -1,4 +1,5 @@
1
- #!/usr/bin/ruby
1
+ #-*- ruby -*-
2
+ #encoding: utf-8
2
3
 
3
4
  require 'ipaddr'
4
5
  require 'stringio'
@@ -275,7 +276,8 @@ class Mongrel2::Request
275
276
  return spoolfile.open( 'r', encoding: enc )
276
277
 
277
278
  elsif !( body.respond_to?(:read) && body.respond_to?(:pos) && body.respond_to?(:seek) )
278
- self.log.info "Wrapping non-IO (%p) body in a StringIO" % [ body.class ]
279
+ self.log.info "Wrapping non-IO (%p) body in a StringIO" % [ body.class ] unless
280
+ body.is_a?( String )
279
281
 
280
282
  # Get the object as a String, set the encoding
281
283
  str = body.to_s
@@ -1,4 +1,5 @@
1
- #!/usr/bin/ruby
1
+ # -*- ruby -*-
2
+ #encoding: utf-8
2
3
 
3
4
  require 'mongrel2/request' unless defined?( Mongrel2::Request )
4
5
  require 'mongrel2/constants'
@@ -543,8 +544,8 @@ module Mongrel2::WebSocket
543
544
  self.payload.set_encoding( 'binary' )
544
545
  self.payload.rewind
545
546
 
546
- header_i = self.make_header.bytes
547
- body_i = self.payload.bytes
547
+ header_i = self.make_header.each_byte
548
+ body_i = self.payload.each_byte
548
549
 
549
550
  header_i.each_with_index {|byte, i| yielder.yield(byte) }
550
551
  body_i.each_with_index {|byte, i| yielder.yield(byte) }
@@ -241,6 +241,19 @@ describe Mongrel2::HTTPResponse do
241
241
  end
242
242
 
243
243
 
244
+ it "doesn't reset the status to 204 NO CONTENT if there's an explicit content-length header" do
245
+
246
+ # Simulate a response to a HEAD request
247
+ request_factory = Mongrel2::RequestFactory.new( route: '/foo' )
248
+ @response.request = request_factory.head( '/foo' )
249
+
250
+ @response.header.content_length = 2048
251
+ @response.body = ''
252
+
253
+ @response.status_line.should =~ /200 OK/i
254
+ end
255
+
256
+
244
257
  it "can build a valid HTTP status line for its status" do
245
258
  @response.status = HTTP::SEE_OTHER
246
259
  @response.status_line.should == "HTTP/1.1 303 See Other"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongrel2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.35.0
4
+ version: 0.36.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,33 +10,35 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain:
12
12
  - !binary |-
13
- LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURMRENDQWhTZ0F3SUJB
14
- Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE4TVF3d0NnWURWUVFEREFOblpX
15
- UXgKRnpBVkJnb0praWFKay9Jc1pBRVpGZ2RmWVdWeWFXVmZNUk13RVFZS0Na
16
- SW1pWlB5TEdRQkdSWURiM0puTUI0WApEVEV3TURreE5qRTBORGcxTVZvWERU
17
- RXhNRGt4TmpFME5EZzFNVm93UERFTU1Bb0dBMVVFQXd3RFoyVmtNUmN3CkZR
18
- WUtDWkltaVpQeUxHUUJHUllIWDJGbGNtbGxYekVUTUJFR0NnbVNKb21UOGl4
19
- a0FSa1dBMjl5WnpDQ0FTSXcKRFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURD
20
- Q0FRb0NnZ0VCQUx5Ly9CRnhDMWYvY1BTbnd0SkJXb0ZpRnJpcgpoN1JpY0kr
21
- am9xL29jVlhRcUk0VERXUHlGLzh0cWt2dCtyRDk5WDlxczJZZVI4Q1UvWWlJ
22
- cExXclFPWVNUNzBKCnZEbjdVdmhiMm11RlZxcTYrdm9iZVRrSUxCRU82cGlv
23
- bldERzhqU2JvM3FLbTFSaktKRHdnOXA0d05LaFB1dTgKS0d1ZS9CRmI2N0tm
24
- bHF5QXBQbVBlYjNWZGQ5Y2xzcHpxZUZxcDdjVUJNRXBGUzZMV3h5NEdrK3F2
25
- RkZKQkpMQgpCVUhFL0xaVkpNVnpmcEM1VXErUW1ZN0IrRkgvUXFObmRuM3RP
26
- SGdzUGFkTFROaW11QjFzQ3VMMWE0ejNQZXBkClRlTEJFRm1FYW81RGszSy9R
27
- OG84dmxiSUIvakJEVFV4NkRqYmd4dzc3OTA5eDZnSTlkb1U0TEQ1WE1jQ0F3
28
- RUEKQWFNNU1EY3dDUVlEVlIwVEJBSXdBREFMQmdOVkhROEVCQU1DQkxBd0hR
29
- WURWUjBPQkJZRUZKZW9Ha09yOWw0Qgorc2FNa1cvWlhUNFVlU3ZWTUEwR0NT
30
- cUdTSWIzRFFFQkJRVUFBNElCQVFCRzJLT2J2WUkyZUh5eUJVSlNKM2pOCnZF
31
- blUzZDYwem5BWGJyU2QycWIzcjFsWTFFUEREM2JjeTBNZ2dDZkdkZzNYdTU0
32
- ejIxb3F5SWRrOHVHdFdCUEwKSElhOUVnZkZHU1VFZ3ZjSXZhWXFpTjRqVFV0
33
- aWRmRUZ3K0x0anM4QVA5Z1dnU0lZUzZHcjM4VjBXR0ZGTnpJSAphT0Qyd211
34
- OW9vL1JmZlc0aFMvOEd1dmZNemN3N0NRMzU1d0ZSNEtCL255emUrRXNaMVk1
35
- RGVyQ0FhZ01WdURRClUwQkxtV0RGelBHR1dsUGVRQ3JZSENyK0FjSnorTlJu
36
- YUhDS0xaZFNLai9SSHVUT3QrZ2JsUmV4OEZBaDhOZUEKY21saFhlNDZwWk5K
37
- Z1dLYnhaYWg4NWpJang5NWhSOHZPSStOQU01aUg5a09xSzEzRHJ4YWNUS1Bo
38
- cWo1UGp3RgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
39
- date: 2012-12-14 00:00:00.000000000 Z
13
+ LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURiRENDQWxTZ0F3SUJB
14
+ Z0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREErTVF3d0NnWURWUVFEREFOblpX
15
+ UXgKR1RBWEJnb0praWFKay9Jc1pBRVpGZ2xHWVdWeWFXVk5WVVF4RXpBUkJn
16
+ b0praWFKay9Jc1pBRVpGZ052Y21jdwpIaGNOTVRNd01qSTNNVFkwT0RVNFdo
17
+ Y05NVFF3TWpJM01UWTBPRFU0V2pBK01Rd3dDZ1lEVlFRRERBTm5aV1F4CkdU
18
+ QVhCZ29Ka2lhSmsvSXNaQUVaRmdsR1lXVnlhV1ZOVlVReEV6QVJCZ29Ka2lh
19
+ SmsvSXNaQUVaRmdOdmNtY3cKZ2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJ
20
+ QkR3QXdnZ0VLQW9JQkFRRGI5Mm1reVl3dUdCZzFvUnh0MnRrSAorVW8zTEFz
21
+ YUwvQVBCZlNMenk4bzMrQjNBVUhLQ2pNVWFWZUJvWmRXdE1IQjc1WDNWUWx2
22
+ WGZaTXlCeGo1OVZvCmNEdGhyM3pkYW80SG55cnpBSVFmN0JPNVk4S0J3VkQr
23
+ eXlYQ0QvTjY1VFR3cXNRbk8zaWU3VTUvOXV0MXJuTnIKT2tPekFzY013a2ZR
24
+ eEJrWER6anZBV2E2VUY0YzVjOWtSL1Q3OWlBMjFrRHg5K2JVTWVudFU1OWFD
25
+ SnRVY2J4YQo3a2NLSmhQRVlzazRPZHhSOXEyZHBoTk1GRFFzSWRSTzhyeXdY
26
+ NUZSSHZjYitxblhDMTdSdnhMSHRPanlzUHRwCkVXc1lvWk14eUNESnBVcWJ3
27
+ b2VpTSt0QUhvejJBQk12M0FoaWUzUWViNitNWk5BdE1tYVdmQngzZGcydSsv
28
+ V04KQWdNQkFBR2pkVEJ6TUFrR0ExVWRFd1FDTUFBd0N3WURWUjBQQkFRREFn
29
+ U3dNQjBHQTFVZERnUVdCQlNaMGhDVgpxb0hyMTIyZkdLZWxxZmZ6RVFCaHN6
30
+ QWNCZ05WSFJFRUZUQVRnUkZuWldSQVJtRmxjbWxsVFZWRUxtOXlaekFjCkJn
31
+ TlZIUklFRlRBVGdSRm5aV1JBUm1GbGNtbGxUVlZFTG05eVp6QU5CZ2txaGtp
32
+ Rzl3MEJBUVVGQUFPQ0FRRUEKVmxjZnlxNkd3eUU4aTBRdUZQQ2VWT3dKYW5l
33
+ U3Zjd3gzMTZEQXBqeTkvdHQyWUQySG9tTGJ0cFh0amk1UVhvcgpPTjZvbG40
34
+ dFdCSUIzS2xicjNzenE1b1IzUmMxRDAyU2FCVGFseFNuZHA0TTZVa1c5aFJG
35
+ dTVqbjk4cERCNGZxCjVsOHdNTVUwWGRtcXgxVll2eXNWQWpWRlZDL1c0Tk52
36
+ bG1nKzJtRWdTVlpQNUs2VGM5cURoM2VNUUlub1l3NmgKdDFZQTZSc1VKSHA1
37
+ dkdReWhQMXgzNFlwTEFhbHk4aWNibnMvOFBxT2Y3T3NuOXp0bWc4Yk9NSkNl
38
+ YjMyZVFMago2bUtDd2pwZWd5dEUwb2lmWGZGOGs3NUE5MTA1Y0JuTmlNWk9l
39
+ MXRYaXFZYy9leENnV3ZiZ2d1cnpET2NSa1p1Ci9ZU3VzYWlEWEhLVTJPM0Fr
40
+ YzNodEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
41
+ date: 2013-03-01 00:00:00.000000000 Z
40
42
  dependencies:
41
43
  - !ruby/object:Gem::Dependency
42
44
  name: nokogiri
@@ -61,7 +63,7 @@ dependencies:
61
63
  requirements:
62
64
  - - ~>
63
65
  - !ruby/object:Gem::Version
64
- version: '3.39'
66
+ version: '3.44'
65
67
  type: :runtime
66
68
  prerelease: false
67
69
  version_requirements: !ruby/object:Gem::Requirement
@@ -69,7 +71,7 @@ dependencies:
69
71
  requirements:
70
72
  - - ~>
71
73
  - !ruby/object:Gem::Version
72
- version: '3.39'
74
+ version: '3.44'
73
75
  - !ruby/object:Gem::Dependency
74
76
  name: tnetstring
75
77
  requirement: !ruby/object:Gem::Requirement
@@ -237,7 +239,7 @@ dependencies:
237
239
  requirements:
238
240
  - - ~>
239
241
  - !ruby/object:Gem::Version
240
- version: '1.2'
242
+ version: '2.0'
241
243
  type: :development
242
244
  prerelease: false
243
245
  version_requirements: !ruby/object:Gem::Requirement
@@ -245,7 +247,7 @@ dependencies:
245
247
  requirements:
246
248
  - - ~>
247
249
  - !ruby/object:Gem::Version
248
- version: '1.2'
250
+ version: '2.0'
249
251
  - !ruby/object:Gem::Dependency
250
252
  name: simplecov
251
253
  requirement: !ruby/object:Gem::Requirement
@@ -253,7 +255,7 @@ dependencies:
253
255
  requirements:
254
256
  - - ~>
255
257
  - !ruby/object:Gem::Version
256
- version: '0.6'
258
+ version: '0.7'
257
259
  type: :development
258
260
  prerelease: false
259
261
  version_requirements: !ruby/object:Gem::Requirement
@@ -261,7 +263,7 @@ dependencies:
261
263
  requirements:
262
264
  - - ~>
263
265
  - !ruby/object:Gem::Version
264
- version: '0.6'
266
+ version: '0.7'
265
267
  - !ruby/object:Gem::Dependency
266
268
  name: hoe-deveiate
267
269
  requirement: !ruby/object:Gem::Requirement
@@ -285,7 +287,7 @@ dependencies:
285
287
  requirements:
286
288
  - - ~>
287
289
  - !ruby/object:Gem::Version
288
- version: '3.0'
290
+ version: '3.4'
289
291
  type: :development
290
292
  prerelease: false
291
293
  version_requirements: !ruby/object:Gem::Requirement
@@ -293,7 +295,7 @@ dependencies:
293
295
  requirements:
294
296
  - - ~>
295
297
  - !ruby/object:Gem::Version
296
- version: '3.0'
298
+ version: '3.4'
297
299
  description: ! 'Ruby-Mongrel2 is a complete Ruby (1.9-only) connector for
298
300
 
299
301
  Mongrel2[http://mongrel2.org/].
@@ -423,7 +425,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
423
425
  version: '0'
424
426
  requirements: []
425
427
  rubyforge_project: mongrel2
426
- rubygems_version: 1.8.24
428
+ rubygems_version: 1.8.25
427
429
  signing_key:
428
430
  specification_version: 3
429
431
  summary: Ruby-Mongrel2 is a complete Ruby (1.9-only) connector for Mongrel2[http://mongrel2.org/]
metadata.gz.sig CHANGED
Binary file