mongrel2 0.2.4 → 0.3.0

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.tar.gz.sig CHANGED
Binary file
data/ChangeLog CHANGED
@@ -1,9 +1,70 @@
1
+ 2011-09-23 Michael Granger <ged@FaerieMUD.org>
2
+
3
+ * .hgtags:
4
+ Added tag v0.3.0 for changeset 627526429d63
5
+ [9c054d0e96c0] [tip]
6
+
7
+ * .hgsigs:
8
+ Added signature for changeset 745c431bcc1b
9
+ [627526429d63] [v0.3.0]
10
+
11
+ * History.rdoc, lib/mongrel2.rb:
12
+ Bump minor version, update History.
13
+ [745c431bcc1b]
14
+
15
+ * lib/mongrel2/control.rb, spec/mongrel2/control_spec.rb:
16
+ Mongrel2::Client fixes/doc updates:
17
+ - Added examples for some of the more-complex return values
18
+ - Fixed wording for some of the methods that I lazily copied from the
19
+ manual
20
+ - Client socket sets ZMQ::LINGER to 0 to try to avoid hangs when
21
+ destroying it without closing its socket first.
22
+ - Made Mongrel2::Client#time return a Time object directly instead of
23
+ wrapping it in a Hash. Need more experimentation with multiple
24
+ servers before I do this for other methods, however.
25
+ [1722ea9675c8]
26
+
27
+ * bin/m2sh.rb:
28
+ Include FileUtils in the 'm2sh.rb load' context so configs can
29
+ create run/log directories, etc.
30
+ [4c93cdb75813]
31
+
32
+ * lib/mongrel2/connection.rb:
33
+ Set SO_LINGER on the sockets so closing the connection doesn't wait
34
+ for unconsumed events.
35
+ [5e7a155a054e]
36
+
37
+ * lib/mongrel2/handler.rb:
38
+ Add missing include to Mongrel2::Handler
39
+ [47c4026c1f8d]
40
+
41
+ * lib/mongrel2/connection.rb:
42
+ Add a bit more debugging to Connection#send and #recv
43
+ [937683f0be2e]
44
+
1
45
  2011-09-21 Michael Granger <ged@FaerieMUD.org>
2
46
 
47
+ * .hgtags:
48
+ Added tag v0.2.4 for changeset d4523fc43396
49
+ [89029a1edce5]
50
+
51
+ * .hgsigs:
52
+ Added signature for changeset d6797487c359
53
+ [d4523fc43396] [v0.2.4]
54
+
55
+ * History.rdoc, lib/mongrel2.rb:
56
+ Updated history, bumping patch version for release.
57
+ [d6797487c359]
58
+
59
+ * lib/mongrel2/httprequest.rb, lib/mongrel2/httpresponse.rb,
60
+ lib/mongrel2/request.rb:
61
+ Correct body size in inspected request/response output.
62
+ [e344d8af9fb9]
63
+
3
64
  * lib/mongrel2/httpresponse.rb, lib/mongrel2/response.rb:
4
65
  Added a cleaned-up Mongrel2::Response#inspect like
5
66
  Mongrel2::Request.
6
- [263a11ebf987] [tip]
67
+ [263a11ebf987]
7
68
 
8
69
  * .hgtags:
9
70
  Added tag v0.2.3 for changeset 49b62d1014e9
@@ -68,7 +129,7 @@
68
129
 
69
130
  * lib/mongrel2/constants.rb:
70
131
  Whitespace fix; add missing HTTP::CONTINUE constant.
71
- [3082d251f00c]
132
+ [3082d251f00c] [github/master]
72
133
 
73
134
  2011-09-18 Michael Granger <ged@FaerieMUD.org>
74
135
 
@@ -142,18 +203,14 @@
142
203
  * Automated merge with ssh://deveiate.org/Ruby-Mongrel2
143
204
  [2da76acfb8db]
144
205
 
145
- * Rakefile:
146
- Automated merge with ssh://deveiate.org/Ruby-Mongrel2
147
- [e3908fd8e744]
148
-
149
- * Rakefile:
150
- Remove ChangeLog task, since hoe-deveiate already does it
151
- [5f4982a32949]
152
-
153
206
  * History.rdoc:
154
207
  Updating History
155
208
  [3b013d4918c6]
156
209
 
210
+ * Rakefile:
211
+ Automated merge with ssh://deveiate.org/Ruby-Mongrel2
212
+ [e3908fd8e744]
213
+
157
214
  * .hgtags:
158
215
  Added tag v0.1.1 for changeset 42da048fe158
159
216
  [2489be2693d5]
@@ -170,6 +227,10 @@
170
227
  Updated rbzmq dependency
171
228
  [758fe465780e]
172
229
 
230
+ * Rakefile:
231
+ Remove ChangeLog task, since hoe-deveiate already does it
232
+ [5f4982a32949]
233
+
173
234
  * .hgtags:
174
235
  Added tag v0.1.0 for changeset 55c8f01c01c6
175
236
  [39b509c68142]
@@ -211,15 +272,11 @@
211
272
  Merged with 3659a56af8fb
212
273
  [f2201728e874]
213
274
 
214
- * .hgignore:
215
- Ignoring packaging directory
216
- [0613976b6735]
217
-
218
275
  2011-09-12 Michael Granger <ged@FaerieMUD.org>
219
276
 
220
277
  * README.rdoc:
221
278
  README fixes
222
- [3659a56af8fb] [github/master]
279
+ [3659a56af8fb]
223
280
 
224
281
  * Rakefile:
225
282
  Fixing gem name
@@ -283,6 +340,12 @@
283
340
  procedures.
284
341
  [19e0a72320dd]
285
342
 
343
+ 2011-09-13 Michael Granger <ged@FaerieMUD.org>
344
+
345
+ * .hgignore:
346
+ Ignoring packaging directory
347
+ [0613976b6735]
348
+
286
349
  2011-09-10 Michael Granger <ged@FaerieMUD.org>
287
350
 
288
351
  * bin/m2sh.rb:
@@ -323,18 +386,6 @@
323
386
  * Merged with 6ea60b67e106
324
387
  [6d5341f30cc4]
325
388
 
326
- * Manifest.txt:
327
- Updating the manifest for the first release
328
- [916a79570cdc]
329
-
330
- * examples/helloworld-handler.rb, lib/mongrel2/handler.rb:
331
- More Handler API docs.
332
- [47427db9b4fb]
333
-
334
- * lib/mongrel2/handler.rb:
335
- Adding some Mongrel2::Handler API docs.
336
- [da95bfdf83da]
337
-
338
389
  * lib/mongrel2/config/host.rb:
339
390
  Adding a many_to_one association for the server belonging to a
340
391
  Mongrel2::Config::Host
@@ -354,6 +405,18 @@
354
405
  Adding a proftools dump of the requestdumper app
355
406
  [00cbc1b89a61]
356
407
 
408
+ * Manifest.txt:
409
+ Updating the manifest for the first release
410
+ [916a79570cdc]
411
+
412
+ * examples/helloworld-handler.rb, lib/mongrel2/handler.rb:
413
+ More Handler API docs.
414
+ [47427db9b4fb]
415
+
416
+ * lib/mongrel2/handler.rb:
417
+ Adding some Mongrel2::Handler API docs.
418
+ [da95bfdf83da]
419
+
357
420
  2011-09-08 Michael Granger <ged@FaerieMUD.org>
358
421
 
359
422
  * README.rdoc, lib/mongrel2.rb, lib/mongrel2/config.rb,
data/History.rdoc CHANGED
@@ -1,3 +1,13 @@
1
+ == v0.3.0 [2011-09-23] Michael Granger <ged@FaerieMUD.org>
2
+
3
+ - Mongrel2::Client fixes/documentation updates.
4
+ - Include FileUtils in the 'm2sh.rb load' context so configs
5
+ loaded by it can create run/log directories, etc.
6
+ - Mongrel2::Connection: Set SO_LINGER on the sockets so
7
+ closing the connection doesn't wait for unconsumed events.
8
+ - Add missing include to Mongrel2::Handler
9
+
10
+
1
11
  == v0.2.4 [2011-09-21] Michael Granger <ged@FaerieMUD.org>
2
12
 
3
13
  - Added a cleaned-up Mongrel2::Response#inspect like
data/bin/m2sh.rb CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'pp'
4
4
  require 'shellwords'
5
+ require 'fileutils'
5
6
  require 'tnetstring'
6
7
 
7
8
  require 'trollop'
@@ -283,7 +284,7 @@ class Mongrel2::M2SHCommand
283
284
  raise "No configfile specified."
284
285
 
285
286
  runspace = Module.new do
286
- extend Mongrel2::Config::DSL
287
+ extend Mongrel2::Config::DSL, FileUtils::Verbose
287
288
  end
288
289
 
289
290
  header "Loading config from #{configfile}"
data/lib/mongrel2.rb CHANGED
@@ -14,10 +14,10 @@ module Mongrel2
14
14
  abort "\n\n>>> Mongrel2 requires Ruby 1.9.2 or later. <<<\n\n" if RUBY_VERSION < '1.9.2'
15
15
 
16
16
  # Library version constant
17
- VERSION = '0.2.4'
17
+ VERSION = '0.3.0'
18
18
 
19
19
  # Version-control revision constant
20
- REVISION = %q$Revision: d6797487c359 $
20
+ REVISION = %q$Revision: 745c431bcc1b $
21
21
 
22
22
 
23
23
  require 'mongrel2/logging'
@@ -58,15 +58,15 @@ class Mongrel2::Connection
58
58
  ctx = Mongrel2.zmq_context
59
59
  self.log.debug "0mq Context is: %p" % [ ctx ]
60
60
 
61
- self.log.info "Connecting request socket (%s)" % [ @sub_addr ]
61
+ self.log.info "Connecting PULL request socket (%s)" % [ @sub_addr ]
62
62
  @request_sock = ctx.socket( ZMQ::PULL )
63
63
  @request_sock.setsockopt( ZMQ::LINGER, 0 )
64
64
  @request_sock.connect( @sub_addr )
65
65
 
66
- self.log.info "Connecting response socket (%s)" % [ @pub_addr ]
66
+ self.log.info "Connecting PUB response socket (%s)" % [ @pub_addr ]
67
67
  @response_sock = ctx.socket( ZMQ::PUB )
68
- @response_sock.setsockopt( ZMQ::LINGER, 0 )
69
68
  @response_sock.setsockopt( ZMQ::IDENTITY, @app_id )
69
+ @response_sock.setsockopt( ZMQ::LINGER, 0 )
70
70
  @response_sock.connect( @pub_addr )
71
71
  end
72
72
 
@@ -93,7 +93,7 @@ class Mongrel2::Connection
93
93
  def recv
94
94
  self.check_closed
95
95
 
96
- self.log.debug "Fetching next request"
96
+ self.log.debug "Fetching next request (PULL)"
97
97
  data = self.request_sock.recv
98
98
  self.log.debug " got request data: %p" % [ data ]
99
99
  return data
@@ -112,8 +112,9 @@ class Mongrel2::Connection
112
112
  self.check_closed
113
113
  header = "%s %d:%s," % [ sender_id, conn_id.to_s.length, conn_id ]
114
114
  buf = header + ' ' + data
115
- self.log.debug "Sending response: %p" % [ buf ]
115
+ self.log.debug "Sending response (PUB): %p" % [ buf ]
116
116
  self.response_sock.send( buf )
117
+ self.log.debug " done with send."
117
118
  end
118
119
 
119
120
 
@@ -23,6 +23,7 @@ class Mongrel2::Control
23
23
  def initialize( port=DEFAULT_PORT )
24
24
  @ctx = Mongrel2.zmq_context
25
25
  @socket = @ctx.socket( ZMQ::REQ )
26
+ @socket.setsockopt( ZMQ::LINGER, 0 )
26
27
  @socket.connect( port.to_s )
27
28
  end
28
29
 
@@ -35,66 +36,105 @@ class Mongrel2::Control
35
36
  attr_reader :socket
36
37
 
37
38
 
38
- ### Stops the server using a SIGINT.
39
+ ### Stops the server using a SIGINT. Returns a hash with a ':msg' key
40
+ ### that describes what happened on success.
39
41
  def stop
40
42
  self.request( :stop )
41
43
  end
42
44
 
43
45
 
44
- ### Reloads the server using a SIGHUP.
46
+ ### Reloads the server using a SIGHUP. Returns a hash with a ':msg' key
47
+ ### that describes what happened on success.
45
48
  def reload
46
49
  self.request( :reload )
47
50
  end
51
+ alias_method :restart, :reload
48
52
 
49
53
 
50
- ### Terminates the server with SIGTERM.
54
+ ### Terminates the server with SIGTERM. Returns a hash with a ':msg' key
55
+ ### that describes what happened on success.
51
56
  def terminate
52
57
  self.request( :terminate )
53
58
  end
54
59
 
55
60
 
56
- ### Prints out a simple help message.
61
+ ### Return an Array of Hashes, one for each command the server supports.
62
+ ###
63
+ ### Example:
64
+ ### [
65
+ ### {:name=>"stop", :help=>"stop the server (SIGINT)"},
66
+ ### {:name=>"reload", :help=>"reload the server"},
67
+ ### {:name=>"help", :help=>"this command"},
68
+ ### {:name=>"control_stop", :help=>"stop control port"},
69
+ ### {:name=>"kill", :help=>"kill a connection"},
70
+ ### {:name=>"status", :help=>"status, what=['net'|'tasks']"},
71
+ ### {:name=>"terminate", :help=>"terminate the server (SIGTERM)"},
72
+ ### {:name=>"time", :help=>"the server's time"},
73
+ ### {:name=>"uuid", :help=>"the server's uuid"},
74
+ ### {:name=>"info", :help=>"information about this server"}
75
+ ### ]
57
76
  def help
58
77
  self.request( :help )
59
78
  end
60
79
 
61
80
 
62
81
  ### Returns the server’s UUID as a String.
82
+ ###
83
+ ### Example:
84
+ ### [{:uuid=>"28F6DCCF-28EB-48A4-A5B0-ED71D224FAE0"}]
63
85
  def uuid
64
86
  self.request( :uuid )
65
87
  end
66
88
 
67
89
 
68
- ### More information about the server.
90
+ ### Return information about the server.
91
+ ###
92
+ ### Example:
93
+ ### [{:port=>7337,
94
+ ### :bind_addr=>"0.0.0.0",
95
+ ### :uuid=>"28F6DCCF-28EB-48A4-A5B0-ED71D224FAE0",
96
+ ### :chroot=>"/var/www",
97
+ ### :access_log=>"/var/www/logs/admin-access.log",
98
+ ### :error_log=>"/logs/admin-error.log",
99
+ ### :pid_file=>"./run/admin.pid",
100
+ ### :default_hostname=>"localhost"}]
69
101
  def info
70
102
  self.request( :info )
71
103
  end
72
104
 
73
105
 
74
- ### Returns a Hash of all the currently running tasks and what they’re doing, keyed
75
- ### by conn_id.
106
+ ### Returns an Array of Hashes, one for each currently running task.
107
+ ###
108
+ ### Example:
109
+ ### [
110
+ ### {:id=>1, :system=>false, :name=>"SERVER", :state=>"read fd", :status=>"idle"},
111
+ ### {:id=>2, :system=>false, :name=>"Handler_task", :state=>"read handler", :status=>"idle"},
112
+ ### {:id=>3, :system=>false, :name=>"control", :state=>"read handler", :status=>"running"},
113
+ ### {:id=>4, :system=>false, :name=>"ticker", :state=>"", :status=>"idle"},
114
+ ### {:id=>5, :system=>true, :name=>"fdtask", :state=>"yield", :status=>"ready"}
115
+ ### ]
76
116
  def tasklist
77
117
  self.request( :status, :what => 'tasks' )
78
118
  end
79
119
 
80
120
 
81
- ### Dumps a JSON dict that matches connections IDs (same ones your handlers
82
- ### get) to the seconds since their last ping. In the case of an HTTP
83
- ### connection this is how long they’ve been connected. In the case of a
84
- ### JSON socket this is the last time a ping message was received.
121
+ ### Returns an Array of Hashes, one for each connection to the server.
122
+ ###
123
+ ### Example:
124
+ ### [
125
+ ### {:id=>9, :fd=>27, :type=>1, :last_ping=>0, :last_read=>0, :last_write=>0,
126
+ ### :bytes_read=>319, :bytes_written=>1065}
127
+ ### ]
85
128
  def conn_status
86
129
  self.request( :status, :what => 'net' )
87
130
  end
88
131
 
89
132
 
90
- ### Prints the unix time the server thinks it’s using. Useful for synching.
133
+ ### Returns the server's time as a Time object.
91
134
  def time
92
135
  response = self.request( :time )
93
- response.each do |row|
94
- row[ :time ] = Time.at( row.delete(:time).to_i ) if row[:time]
95
- end
96
-
97
- return response
136
+ return nil if response.empty?
137
+ return Time.at( response.first[:time].to_i )
98
138
  end
99
139
 
100
140
 
@@ -111,6 +151,16 @@ class Mongrel2::Control
111
151
  end
112
152
 
113
153
 
154
+ ### Close the control port connection.
155
+ def close
156
+ self.socket.close
157
+ end
158
+
159
+
160
+ #########
161
+ protected
162
+ #########
163
+
114
164
  ### Send a raw request to the server, asking it to perform the +command+ with the specified
115
165
  ### +options+ hash and return the results.
116
166
  def request( command, options={} )
@@ -124,12 +174,6 @@ class Mongrel2::Control
124
174
  end
125
175
 
126
176
 
127
- ### Close the control port connection.
128
- def close
129
- self.socket.close
130
- end
131
-
132
-
133
177
  #######
134
178
  private
135
179
  #######
@@ -79,7 +79,8 @@ require 'mongrel2/jsonrequest'
79
79
  # app.run
80
80
  #
81
81
  class Mongrel2::Handler
82
- include Mongrel2::Loggable
82
+ include Mongrel2::Loggable,
83
+ Mongrel2::Constants
83
84
 
84
85
 
85
86
  ### Create an instance of the handler using the config from the database with
@@ -30,7 +30,7 @@ describe Mongrel2::Control do
30
30
 
31
31
  before( :each ) do
32
32
  @ctx = double( "ZMQ::Context" )
33
- @socket = double( "ZMQ REQ socket", :connect => nil )
33
+ @socket = double( "ZMQ REQ socket", :connect => nil, :setsockopt => nil )
34
34
  @ctx.stub( :socket ).with( ZMQ::REQ ).and_return( @socket )
35
35
 
36
36
  Mongrel2.instance_variable_set( :@zmq_ctx, @ctx )
@@ -160,7 +160,7 @@ describe Mongrel2::Control do
160
160
  @socket.should_receive( :send ).with( "10:4:time,0:}]" )
161
161
  @socket.should_receive( :recv ).
162
162
  and_return( "49:7:headers,7:4:time,]4:rows,18:14:10:1315532674,]]}" )
163
- @control.time.should == [{ :time => Time.at(1315532674) }]
163
+ @control.time.should == Time.at( 1315532674 )
164
164
  end
165
165
 
166
166
  it "sends a 'kill' command with an ID equal to the argument to the control port when #kill " +
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.2.4
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -48,11 +48,11 @@ cert_chain:
48
48
  -----END CERTIFICATE-----
49
49
 
50
50
  '
51
- date: 2011-09-22 00:00:00.000000000Z
51
+ date: 2011-09-24 00:00:00.000000000Z
52
52
  dependencies:
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: nokogiri
55
- requirement: &70275094474160 !ruby/object:Gem::Requirement
55
+ requirement: &2170257000 !ruby/object:Gem::Requirement
56
56
  none: false
57
57
  requirements:
58
58
  - - ~>
@@ -60,10 +60,10 @@ dependencies:
60
60
  version: '1.5'
61
61
  type: :runtime
62
62
  prerelease: false
63
- version_requirements: *70275094474160
63
+ version_requirements: *2170257000
64
64
  - !ruby/object:Gem::Dependency
65
65
  name: sequel
66
- requirement: &70275094472460 !ruby/object:Gem::Requirement
66
+ requirement: &2170254880 !ruby/object:Gem::Requirement
67
67
  none: false
68
68
  requirements:
69
69
  - - ~>
@@ -71,10 +71,10 @@ dependencies:
71
71
  version: '3.26'
72
72
  type: :runtime
73
73
  prerelease: false
74
- version_requirements: *70275094472460
74
+ version_requirements: *2170254880
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: amalgalite
77
- requirement: &70275094471640 !ruby/object:Gem::Requirement
77
+ requirement: &2170254220 !ruby/object:Gem::Requirement
78
78
  none: false
79
79
  requirements:
80
80
  - - ~>
@@ -82,10 +82,10 @@ dependencies:
82
82
  version: '1.1'
83
83
  type: :runtime
84
84
  prerelease: false
85
- version_requirements: *70275094471640
85
+ version_requirements: *2170254220
86
86
  - !ruby/object:Gem::Dependency
87
87
  name: tnetstring
88
- requirement: &70275094470760 !ruby/object:Gem::Requirement
88
+ requirement: &2170253640 !ruby/object:Gem::Requirement
89
89
  none: false
90
90
  requirements:
91
91
  - - ~>
@@ -93,10 +93,10 @@ dependencies:
93
93
  version: '0.3'
94
94
  type: :runtime
95
95
  prerelease: false
96
- version_requirements: *70275094470760
96
+ version_requirements: *2170253640
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: yajl-ruby
99
- requirement: &70275094467600 !ruby/object:Gem::Requirement
99
+ requirement: &2170252900 !ruby/object:Gem::Requirement
100
100
  none: false
101
101
  requirements:
102
102
  - - ~>
@@ -104,10 +104,10 @@ dependencies:
104
104
  version: '0.8'
105
105
  type: :runtime
106
106
  prerelease: false
107
- version_requirements: *70275094467600
107
+ version_requirements: *2170252900
108
108
  - !ruby/object:Gem::Dependency
109
109
  name: zmq
110
- requirement: &70275094462620 !ruby/object:Gem::Requirement
110
+ requirement: &2170252240 !ruby/object:Gem::Requirement
111
111
  none: false
112
112
  requirements:
113
113
  - - ~>
@@ -115,10 +115,10 @@ dependencies:
115
115
  version: 2.1.4
116
116
  type: :runtime
117
117
  prerelease: false
118
- version_requirements: *70275094462620
118
+ version_requirements: *2170252240
119
119
  - !ruby/object:Gem::Dependency
120
120
  name: hoe-mercurial
121
- requirement: &70275094461620 !ruby/object:Gem::Requirement
121
+ requirement: &2170251620 !ruby/object:Gem::Requirement
122
122
  none: false
123
123
  requirements:
124
124
  - - ~>
@@ -126,10 +126,10 @@ dependencies:
126
126
  version: 1.3.0
127
127
  type: :development
128
128
  prerelease: false
129
- version_requirements: *70275094461620
129
+ version_requirements: *2170251620
130
130
  - !ruby/object:Gem::Dependency
131
131
  name: hoe-highline
132
- requirement: &70275094460460 !ruby/object:Gem::Requirement
132
+ requirement: &2170250880 !ruby/object:Gem::Requirement
133
133
  none: false
134
134
  requirements:
135
135
  - - ~>
@@ -137,10 +137,10 @@ dependencies:
137
137
  version: 0.0.1
138
138
  type: :development
139
139
  prerelease: false
140
- version_requirements: *70275094460460
140
+ version_requirements: *2170250880
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: configurability
143
- requirement: &70275094459180 !ruby/object:Gem::Requirement
143
+ requirement: &2170250120 !ruby/object:Gem::Requirement
144
144
  none: false
145
145
  requirements:
146
146
  - - ~>
@@ -148,10 +148,10 @@ dependencies:
148
148
  version: '1.0'
149
149
  type: :development
150
150
  prerelease: false
151
- version_requirements: *70275094459180
151
+ version_requirements: *2170250120
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: rspec
154
- requirement: &70275094457960 !ruby/object:Gem::Requirement
154
+ requirement: &2170249500 !ruby/object:Gem::Requirement
155
155
  none: false
156
156
  requirements:
157
157
  - - ~>
@@ -159,10 +159,10 @@ dependencies:
159
159
  version: '2.4'
160
160
  type: :development
161
161
  prerelease: false
162
- version_requirements: *70275094457960
162
+ version_requirements: *2170249500
163
163
  - !ruby/object:Gem::Dependency
164
164
  name: hoe
165
- requirement: &70275094456560 !ruby/object:Gem::Requirement
165
+ requirement: &2170248800 !ruby/object:Gem::Requirement
166
166
  none: false
167
167
  requirements:
168
168
  - - ~>
@@ -170,7 +170,7 @@ dependencies:
170
170
  version: '2.12'
171
171
  type: :development
172
172
  prerelease: false
173
- version_requirements: *70275094456560
173
+ version_requirements: *2170248800
174
174
  description: ! "A complete Ruby connector for Mongrel2[http://mongrel2.org/].\n\nThis
175
175
  library includes configuration-database ORM classes, a Ruby\nimplementation of the
176
176
  'm2sh' tool, a configuration DSL for generating config\ndatabases in pure Ruby,
metadata.gz.sig CHANGED
Binary file