strelka 0.7.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +1 -3
- data/History.rdoc +19 -0
- data/Rakefile +6 -5
- data/lib/strelka.rb +2 -2
- data/lib/strelka/app.rb +8 -21
- data/lib/strelka/app/auth.rb +1 -1
- data/lib/strelka/app/restresources.rb +72 -20
- data/lib/strelka/app/sessions.rb +6 -4
- data/lib/strelka/authprovider.rb +1 -1
- data/lib/strelka/cookie.rb +2 -1
- data/lib/strelka/httprequest.rb +47 -43
- data/lib/strelka/httprequest/acceptparams.rb +3 -3
- data/lib/strelka/httprequest/negotiation.rb +4 -0
- data/lib/strelka/mixins.rb +27 -28
- data/lib/strelka/multipartparser.rb +1 -3
- data/lib/strelka/plugins.rb +1 -2
- data/lib/strelka/router.rb +2 -2
- data/lib/strelka/session.rb +3 -2
- data/lib/strelka/session/db.rb +1 -0
- data/spec/strelka/app/auth_spec.rb +48 -48
- data/spec/strelka/app/filters_spec.rb +8 -8
- data/spec/strelka/app/parameters_spec.rb +1 -1
- data/spec/strelka/app/restresources_spec.rb +69 -35
- data/spec/strelka/app/routing_spec.rb +1 -1
- data/spec/strelka/app/templating_spec.rb +1 -1
- data/spec/strelka/authprovider/basic_spec.rb +1 -1
- data/spec/strelka/authprovider/hostaccess_spec.rb +3 -3
- data/spec/strelka/cookie_spec.rb +6 -5
- data/spec/strelka/cookieset_spec.rb +1 -1
- data/spec/strelka/discovery_spec.rb +2 -2
- data/spec/strelka/httprequest/acceptparams_spec.rb +16 -16
- data/spec/strelka/httprequest/negotiation_spec.rb +73 -67
- data/spec/strelka/httprequest/session_spec.rb +2 -2
- data/spec/strelka/httprequest_spec.rb +38 -6
- data/spec/strelka/httpresponse/session_spec.rb +3 -3
- data/spec/strelka/mixins_spec.rb +3 -3
- data/spec/strelka/multipartparser_spec.rb +2 -2
- data/spec/strelka/paramvalidator_spec.rb +22 -22
- data/spec/strelka/plugins_spec.rb +1 -1
- data/spec/strelka/session/default_spec.rb +4 -4
- data/spec/strelka/websocketserver/routing_spec.rb +1 -1
- metadata +29 -15
- metadata.gz.sig +0 -0
@@ -107,12 +107,12 @@ describe Strelka::HTTPRequest::Session, "-extended request" do
|
|
107
107
|
end
|
108
108
|
|
109
109
|
it "knows when its session hasn't been loaded" do
|
110
|
-
expect( @req.session_loaded? ).to
|
110
|
+
expect( @req.session_loaded? ).to be_falsey()
|
111
111
|
end
|
112
112
|
|
113
113
|
it "knows when its session has been loaded" do
|
114
114
|
@req.session # Load it
|
115
|
-
expect( @req.session_loaded? ).to
|
115
|
+
expect( @req.session_loaded? ).to be_truthy()
|
116
116
|
end
|
117
117
|
|
118
118
|
end
|
@@ -192,9 +192,11 @@ describe Strelka::HTTPRequest do
|
|
192
192
|
})
|
193
193
|
end
|
194
194
|
|
195
|
-
it "
|
195
|
+
it "responds with a 400 (BAD_REQUEST) for a malformed query string" do
|
196
196
|
req = @request_factory.get( '/directory/path?foo' )
|
197
|
-
expect
|
197
|
+
expect {
|
198
|
+
req.params
|
199
|
+
}.to finish_with( HTTP::BAD_REQUEST, /malformed/i )
|
198
200
|
end
|
199
201
|
end
|
200
202
|
|
@@ -247,7 +249,7 @@ describe Strelka::HTTPRequest do
|
|
247
249
|
|
248
250
|
expect {
|
249
251
|
@req.params
|
250
|
-
}.to finish_with( HTTP::BAD_REQUEST, /
|
252
|
+
}.to finish_with( HTTP::BAD_REQUEST, /content type/i )
|
251
253
|
end
|
252
254
|
end
|
253
255
|
|
@@ -302,6 +304,14 @@ describe Strelka::HTTPRequest do
|
|
302
304
|
'mirror' => 'sequel',
|
303
305
|
})
|
304
306
|
end
|
307
|
+
|
308
|
+
it "responds with a 400 (BAD_REQUEST) for malformed parameters" do
|
309
|
+
@req.body = '<? skrip_kiddie_stuff ?>'
|
310
|
+
expect {
|
311
|
+
@req.params
|
312
|
+
}.to finish_with( HTTP::BAD_REQUEST, /malformed/i )
|
313
|
+
end
|
314
|
+
|
305
315
|
end
|
306
316
|
|
307
317
|
context "a POST request with a 'multipart/form-data' body" do
|
@@ -350,6 +360,13 @@ describe Strelka::HTTPRequest do
|
|
350
360
|
expect( @req.params[:foo] ).to eq( data )
|
351
361
|
end
|
352
362
|
|
363
|
+
it "responds with a 400 (BAD_REQUEST) for malformed JSON body" do
|
364
|
+
@req.body = '<? skrip_kiddie_stuff ?>'
|
365
|
+
expect {
|
366
|
+
@req.params
|
367
|
+
}.to finish_with( HTTP::BAD_REQUEST, /malformed/i )
|
368
|
+
end
|
369
|
+
|
353
370
|
end
|
354
371
|
|
355
372
|
context "a POST request with a 'text/x-yaml' body" do
|
@@ -360,7 +377,7 @@ describe Strelka::HTTPRequest do
|
|
360
377
|
|
361
378
|
it "returns a params hash in which all values are nil for an empty body" do
|
362
379
|
@req.body = ''
|
363
|
-
expect( @req.params[:profile] ).to
|
380
|
+
expect( @req.params[:profile] ).to be_falsey
|
364
381
|
end
|
365
382
|
|
366
383
|
it "has the YAML data as the params if it has a body with YAML in it" do
|
@@ -403,6 +420,13 @@ describe Strelka::HTTPRequest do
|
|
403
420
|
expect( @req.params ).to eq( {} )
|
404
421
|
end
|
405
422
|
|
423
|
+
it "responds with a 400 (BAD_REQUEST) for malformed YAML body" do
|
424
|
+
@req.body = "---\npork:\nwoo\nhooooooooo\n\n"
|
425
|
+
expect {
|
426
|
+
@req.params
|
427
|
+
}.to finish_with( HTTP::BAD_REQUEST, /malformed/i )
|
428
|
+
end
|
429
|
+
|
406
430
|
end
|
407
431
|
|
408
432
|
end
|
@@ -417,18 +441,26 @@ describe Strelka::HTTPRequest do
|
|
417
441
|
|
418
442
|
it "parses a single cookie into a cookieset with the cookie in it" do
|
419
443
|
@req.header.cookie = 'foom=chuckUfarly'
|
420
|
-
expect( @req.cookies ).to
|
444
|
+
expect( @req.cookies.size ).to eq( 1 )
|
421
445
|
expect( @req.cookies['foom'].value ).to eq( 'chuckUfarly' )
|
422
446
|
end
|
423
447
|
|
424
448
|
it "parses multiple cookies into a cookieset with multiple cookies in it" do
|
425
449
|
@req.header.cookie = 'foom=chuckUfarly; glarn=hotchinfalcheck'
|
426
450
|
|
427
|
-
expect( @req.cookies ).to
|
451
|
+
expect( @req.cookies.size ).to eq( 2 )
|
428
452
|
expect( @req.cookies['foom'].value ).to eq( 'chuckUfarly' )
|
429
453
|
expect( @req.cookies['glarn'].value ).to eq( 'hotchinfalcheck' )
|
430
454
|
end
|
431
455
|
|
456
|
+
it "responds with a 400 (BAD_REQUEST) response for malformed cookies" do
|
457
|
+
@req.header.cookie = 'pork'
|
458
|
+
|
459
|
+
expect {
|
460
|
+
@req.cookies
|
461
|
+
}.to finish_with( HTTP::BAD_REQUEST, /malformed/i )
|
462
|
+
end
|
463
|
+
|
432
464
|
end
|
433
465
|
|
434
466
|
end
|
@@ -122,16 +122,16 @@ describe Strelka::HTTPResponse::Session, "-extended response" do
|
|
122
122
|
|
123
123
|
it "knows that its session has been loaded if it has one" do
|
124
124
|
@res.session
|
125
|
-
expect( @res.session_loaded? ).to
|
125
|
+
expect( @res.session_loaded? ).to be_truthy()
|
126
126
|
end
|
127
127
|
|
128
128
|
it "knows that its session has been loaded if its request has one" do
|
129
129
|
@res.request.session
|
130
|
-
expect( @res.session_loaded? ).to
|
130
|
+
expect( @res.session_loaded? ).to be_truthy()
|
131
131
|
end
|
132
132
|
|
133
133
|
it "knows that its session hasn't been loaded if neither its request not itself has one" do
|
134
|
-
expect( @res.session_loaded? ).to
|
134
|
+
expect( @res.session_loaded? ).to be_falsey()
|
135
135
|
end
|
136
136
|
|
137
137
|
it "saves the session via itself if it was loaded" do
|
data/spec/strelka/mixins_spec.rb
CHANGED
@@ -19,8 +19,8 @@ describe Strelka, "mixins" do
|
|
19
19
|
describe Strelka::AbstractClass do
|
20
20
|
|
21
21
|
context "mixed into a class" do
|
22
|
-
it "will cause the
|
23
|
-
testclass = Class.new {
|
22
|
+
it "will cause the extended class to hide its ::new method" do
|
23
|
+
testclass = Class.new { extend Strelka::AbstractClass }
|
24
24
|
|
25
25
|
expect {
|
26
26
|
testclass.new
|
@@ -34,7 +34,7 @@ describe Strelka, "mixins" do
|
|
34
34
|
|
35
35
|
before(:each) do
|
36
36
|
testclass = Class.new {
|
37
|
-
|
37
|
+
extend Strelka::AbstractClass
|
38
38
|
pure_virtual :test_method
|
39
39
|
}
|
40
40
|
subclass = Class.new( testclass )
|
@@ -77,7 +77,7 @@ describe Strelka::MultipartParser do
|
|
77
77
|
|
78
78
|
params = parser.parse
|
79
79
|
|
80
|
-
expect( params ).to
|
80
|
+
expect( params.size ).to eq( 5 )
|
81
81
|
expect( params.keys ).to include( 'x-livejournal-entry' )
|
82
82
|
expect( params['velour-fog'] ).to match( /Sweet, sweet canday/i )
|
83
83
|
end
|
@@ -121,7 +121,7 @@ describe Strelka::MultipartParser do
|
|
121
121
|
params = parser.parse
|
122
122
|
|
123
123
|
expect( params['pork'] ).to be_an_instance_of( Array )
|
124
|
-
expect( params['pork'] ).to
|
124
|
+
expect( params['pork'].size ).to eq( 2 )
|
125
125
|
expect( params['pork'] ).to include( 'zoot' )
|
126
126
|
expect( params['pork'] ).to include( 'fornk' )
|
127
127
|
|
@@ -55,7 +55,7 @@ describe Strelka::ParamValidator do
|
|
55
55
|
@validator.validate( 'blorp' => 'true' )
|
56
56
|
expect( @validator[ :blorp ] ).to be_nil
|
57
57
|
@validator.add( :blorp, :boolean )
|
58
|
-
expect( @validator[ :blorp ] ).to
|
58
|
+
expect( @validator[ :blorp ] ).to be_truthy
|
59
59
|
end
|
60
60
|
|
61
61
|
it "ignores identical duplicate constraints" do
|
@@ -148,7 +148,7 @@ describe Strelka::ParamValidator do
|
|
148
148
|
@validator.validate( 'number' => tainted_one )
|
149
149
|
|
150
150
|
expect( @validator[:number] ).to eq( "1" )
|
151
|
-
expect( @validator[:number].tainted? ).to
|
151
|
+
expect( @validator[:number].tainted? ).to be_falsey()
|
152
152
|
end
|
153
153
|
|
154
154
|
it "knows the names of fields that were required but missing from the parameters" do
|
@@ -158,7 +158,7 @@ describe Strelka::ParamValidator do
|
|
158
158
|
expect( @validator ).to have_errors()
|
159
159
|
expect( @validator ).to_not be_okay()
|
160
160
|
|
161
|
-
expect( @validator.missing ).to
|
161
|
+
expect( @validator.missing.size ).to eq( 1 )
|
162
162
|
expect( @validator.missing ).to eq( ['id'] )
|
163
163
|
end
|
164
164
|
|
@@ -171,7 +171,7 @@ describe Strelka::ParamValidator do
|
|
171
171
|
|
172
172
|
expect( @validator.invalid ).to be_empty
|
173
173
|
|
174
|
-
expect( @validator.missing ).to
|
174
|
+
expect( @validator.missing.size ).to eq( 1 )
|
175
175
|
expect( @validator.missing ).to eq( ['id'] )
|
176
176
|
end
|
177
177
|
|
@@ -182,7 +182,7 @@ describe Strelka::ParamValidator do
|
|
182
182
|
expect( @validator ).to have_errors()
|
183
183
|
expect( @validator ).to_not be_okay()
|
184
184
|
|
185
|
-
expect( @validator.invalid ).to
|
185
|
+
expect( @validator.invalid.size ).to eq( 1 )
|
186
186
|
expect( @validator.invalid.keys ).to eq( ['number'] )
|
187
187
|
end
|
188
188
|
|
@@ -205,7 +205,7 @@ describe Strelka::ParamValidator do
|
|
205
205
|
expect( @validator ).to have_errors()
|
206
206
|
expect( @validator ).to_not be_okay()
|
207
207
|
|
208
|
-
expect( @validator.error_fields ).to
|
208
|
+
expect( @validator.error_fields.size ).to eq( 2 )
|
209
209
|
expect( @validator.error_fields ).to include('number')
|
210
210
|
expect( @validator.error_fields ).to include('id')
|
211
211
|
end
|
@@ -250,7 +250,7 @@ describe Strelka::ParamValidator do
|
|
250
250
|
@validator.add( :id, /^(\w{20})$/, :required )
|
251
251
|
@validator.validate( 'number' => 'rhinoceros', 'unknown' => "1" )
|
252
252
|
|
253
|
-
expect( @validator.error_messages ).to
|
253
|
+
expect( @validator.error_messages.size ).to eq( 2 )
|
254
254
|
expect( @validator.error_messages ).to include("Missing value for 'Id'")
|
255
255
|
expect( @validator.error_messages ).to include("Invalid value for 'Number'")
|
256
256
|
end
|
@@ -260,7 +260,7 @@ describe Strelka::ParamValidator do
|
|
260
260
|
@validator.add( :id, /^(\w{20})$/, :required )
|
261
261
|
@validator.validate( 'number' => 'rhinoceros', 'unknown' => "1" )
|
262
262
|
|
263
|
-
expect( @validator.error_messages(true) ).to
|
263
|
+
expect( @validator.error_messages(true).size ).to eq( 3 )
|
264
264
|
expect( @validator.error_messages(true) ).to include("Missing value for 'Id'")
|
265
265
|
expect( @validator.error_messages(true) ).to include("Invalid value for 'Number'")
|
266
266
|
expect( @validator.error_messages(true) ).to include("Unknown parameter 'Unknown'")
|
@@ -271,7 +271,7 @@ describe Strelka::ParamValidator do
|
|
271
271
|
@validator.add( :id, /^(\w{20})$/, "Test Name", :required )
|
272
272
|
@validator.validate( 'number' => 'rhinoceros', 'unknown' => "1" )
|
273
273
|
|
274
|
-
expect( @validator.error_messages ).to
|
274
|
+
expect( @validator.error_messages.size ).to eq( 2 )
|
275
275
|
expect( @validator.error_messages ).to include("Missing value for 'Test Name'")
|
276
276
|
expect( @validator.error_messages ).to include("Invalid value for 'Numeral'")
|
277
277
|
end
|
@@ -286,8 +286,8 @@ describe Strelka::ParamValidator do
|
|
286
286
|
}
|
287
287
|
@validator.validate( 'number' => 'rhinoceros', 'unknown' => "1" )
|
288
288
|
|
289
|
-
expect( @validator.descriptions ).to
|
290
|
-
expect( @validator.error_messages ).to
|
289
|
+
expect( @validator.descriptions.size ).to eq( 2 )
|
290
|
+
expect( @validator.error_messages.size ).to eq( 2 )
|
291
291
|
expect( @validator.error_messages ).to include("Missing value for 'Test Name'")
|
292
292
|
expect( @validator.error_messages ).to include("Invalid value for 'Numeral'")
|
293
293
|
end
|
@@ -486,7 +486,7 @@ describe Strelka::ParamValidator do
|
|
486
486
|
expect( @validator ).to be_okay()
|
487
487
|
expect( @validator ).to_not have_errors()
|
488
488
|
|
489
|
-
expect( @validator[:enabled] ).to
|
489
|
+
expect( @validator[:enabled] ).to be_truthy()
|
490
490
|
end
|
491
491
|
|
492
492
|
it "accepts the value 't'" do
|
@@ -495,7 +495,7 @@ describe Strelka::ParamValidator do
|
|
495
495
|
expect( @validator ).to be_okay()
|
496
496
|
expect( @validator ).to_not have_errors()
|
497
497
|
|
498
|
-
expect( @validator[:enabled] ).to
|
498
|
+
expect( @validator[:enabled] ).to be_truthy()
|
499
499
|
end
|
500
500
|
|
501
501
|
it "accepts the value 'yes'" do
|
@@ -504,7 +504,7 @@ describe Strelka::ParamValidator do
|
|
504
504
|
expect( @validator ).to be_okay()
|
505
505
|
expect( @validator ).to_not have_errors()
|
506
506
|
|
507
|
-
expect( @validator[:enabled] ).to
|
507
|
+
expect( @validator[:enabled] ).to be_truthy()
|
508
508
|
end
|
509
509
|
|
510
510
|
it "accepts the value 'y'" do
|
@@ -513,7 +513,7 @@ describe Strelka::ParamValidator do
|
|
513
513
|
expect( @validator ).to be_okay()
|
514
514
|
expect( @validator ).to_not have_errors()
|
515
515
|
|
516
|
-
expect( @validator[:enabled] ).to
|
516
|
+
expect( @validator[:enabled] ).to be_truthy()
|
517
517
|
end
|
518
518
|
|
519
519
|
it "accepts the value '1'" do
|
@@ -522,7 +522,7 @@ describe Strelka::ParamValidator do
|
|
522
522
|
expect( @validator ).to be_okay()
|
523
523
|
expect( @validator ).to_not have_errors()
|
524
524
|
|
525
|
-
expect( @validator[:enabled] ).to
|
525
|
+
expect( @validator[:enabled] ).to be_truthy()
|
526
526
|
end
|
527
527
|
|
528
528
|
it "accepts the string 'false'" do
|
@@ -531,7 +531,7 @@ describe Strelka::ParamValidator do
|
|
531
531
|
expect( @validator ).to be_okay()
|
532
532
|
expect( @validator ).to_not have_errors()
|
533
533
|
|
534
|
-
expect( @validator[:enabled] ).to
|
534
|
+
expect( @validator[:enabled] ).to be_falsey()
|
535
535
|
end
|
536
536
|
|
537
537
|
it "accepts the literal false value" do
|
@@ -540,7 +540,7 @@ describe Strelka::ParamValidator do
|
|
540
540
|
expect( @validator ).to be_okay()
|
541
541
|
expect( @validator ).to_not have_errors()
|
542
542
|
|
543
|
-
expect( @validator[:enabled] ).to
|
543
|
+
expect( @validator[:enabled] ).to be_falsey()
|
544
544
|
end
|
545
545
|
|
546
546
|
it "accepts the value 'f'" do
|
@@ -549,7 +549,7 @@ describe Strelka::ParamValidator do
|
|
549
549
|
expect( @validator ).to be_okay()
|
550
550
|
expect( @validator ).to_not have_errors()
|
551
551
|
|
552
|
-
expect( @validator[:enabled] ).to
|
552
|
+
expect( @validator[:enabled] ).to be_falsey()
|
553
553
|
end
|
554
554
|
|
555
555
|
it "accepts the value 'no'" do
|
@@ -558,7 +558,7 @@ describe Strelka::ParamValidator do
|
|
558
558
|
expect( @validator ).to be_okay()
|
559
559
|
expect( @validator ).to_not have_errors()
|
560
560
|
|
561
|
-
expect( @validator[:enabled] ).to
|
561
|
+
expect( @validator[:enabled] ).to be_falsey()
|
562
562
|
end
|
563
563
|
|
564
564
|
it "accepts the value 'n'" do
|
@@ -567,7 +567,7 @@ describe Strelka::ParamValidator do
|
|
567
567
|
expect( @validator ).to be_okay()
|
568
568
|
expect( @validator ).to_not have_errors()
|
569
569
|
|
570
|
-
expect( @validator[:enabled] ).to
|
570
|
+
expect( @validator[:enabled] ).to be_falsey()
|
571
571
|
end
|
572
572
|
|
573
573
|
it "accepts the value '0'" do
|
@@ -576,7 +576,7 @@ describe Strelka::ParamValidator do
|
|
576
576
|
expect( @validator ).to be_okay()
|
577
577
|
expect( @validator ).to_not have_errors()
|
578
578
|
|
579
|
-
expect( @validator[:enabled] ).to
|
579
|
+
expect( @validator[:enabled] ).to be_falsey()
|
580
580
|
end
|
581
581
|
|
582
582
|
it "rejects non-boolean parameters" do
|
@@ -90,7 +90,7 @@ describe Strelka::Session::Default do
|
|
90
90
|
|
91
91
|
session.save( response )
|
92
92
|
|
93
|
-
expect( described_class.sessions ).to
|
93
|
+
expect( described_class.sessions ).to include( { session_id => session_data } )
|
94
94
|
expect( response.header_data ).to match( /Set-Cookie: #{@cookie_name}=#{session_id}/i )
|
95
95
|
end
|
96
96
|
|
@@ -139,8 +139,8 @@ describe Strelka::Session::Default do
|
|
139
139
|
subject.testkey = true
|
140
140
|
subject.namespace = nil
|
141
141
|
|
142
|
-
expect( subject.meat[ :testkey ] ).to
|
143
|
-
expect( subject.greet[ :testkey ] ).to
|
142
|
+
expect( subject.meat[ :testkey ] ).to be_truthy
|
143
|
+
expect( subject.greet[ :testkey ] ).to be_truthy
|
144
144
|
expect( subject.pork[ :testkey ] ).to be_nil
|
145
145
|
end
|
146
146
|
end
|
@@ -170,7 +170,7 @@ describe Strelka::Session::Default do
|
|
170
170
|
it "accesses values via a struct-like interface" do
|
171
171
|
subject.testkey = true
|
172
172
|
|
173
|
-
expect( subject.testkey ).to
|
173
|
+
expect( subject.testkey ).to be_truthy
|
174
174
|
expect( subject.i_do_not_exist ).to be_nil
|
175
175
|
end
|
176
176
|
end
|
@@ -64,7 +64,7 @@ describe Strelka::WebSocketServer::Routing do
|
|
64
64
|
@app.class_eval do
|
65
65
|
on_nick() {}
|
66
66
|
end
|
67
|
-
expect( @app.op_callbacks ).to
|
67
|
+
expect( @app.op_callbacks.size ).to eq( 1 )
|
68
68
|
expect( @app.op_callbacks[ :nick ] ).to be_a( UnboundMethod )
|
69
69
|
end
|
70
70
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: strelka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mahlon E. Smith
|
@@ -31,7 +31,7 @@ cert_chain:
|
|
31
31
|
6mKCwjpegytE0oifXfF8k75A9105cBnNiMZOe1tXiqYc/exCgWvbggurzDOcRkZu
|
32
32
|
/YSusaiDXHKU2O3Akc3htA==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date:
|
34
|
+
date: 2014-02-05 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: configurability
|
@@ -39,14 +39,14 @@ dependencies:
|
|
39
39
|
requirements:
|
40
40
|
- - ~>
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '2.
|
42
|
+
version: '2.1'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - ~>
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: '2.
|
49
|
+
version: '2.1'
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: foreman
|
52
52
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,42 +95,42 @@ dependencies:
|
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: '0.
|
98
|
+
version: '0.9'
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
101
|
version_requirements: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
103
|
- - ~>
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: '0.
|
105
|
+
version: '0.9'
|
106
106
|
- !ruby/object:Gem::Dependency
|
107
107
|
name: mongrel2
|
108
108
|
requirement: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
110
|
- - ~>
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: '0.
|
112
|
+
version: '0.41'
|
113
113
|
type: :runtime
|
114
114
|
prerelease: false
|
115
115
|
version_requirements: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
117
|
- - ~>
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version: '0.
|
119
|
+
version: '0.41'
|
120
120
|
- !ruby/object:Gem::Dependency
|
121
121
|
name: pluggability
|
122
122
|
requirement: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
124
|
- - ~>
|
125
125
|
- !ruby/object:Gem::Version
|
126
|
-
version: '0.
|
126
|
+
version: '0.4'
|
127
127
|
type: :runtime
|
128
128
|
prerelease: false
|
129
129
|
version_requirements: !ruby/object:Gem::Requirement
|
130
130
|
requirements:
|
131
131
|
- - ~>
|
132
132
|
- !ruby/object:Gem::Version
|
133
|
-
version: '0.
|
133
|
+
version: '0.4'
|
134
134
|
- !ruby/object:Gem::Dependency
|
135
135
|
name: sysexits
|
136
136
|
requirement: !ruby/object:Gem::Requirement
|
@@ -179,14 +179,14 @@ dependencies:
|
|
179
179
|
requirements:
|
180
180
|
- - ~>
|
181
181
|
- !ruby/object:Gem::Version
|
182
|
-
version: '0
|
182
|
+
version: '1.0'
|
183
183
|
type: :runtime
|
184
184
|
prerelease: false
|
185
185
|
version_requirements: !ruby/object:Gem::Requirement
|
186
186
|
requirements:
|
187
187
|
- - ~>
|
188
188
|
- !ruby/object:Gem::Version
|
189
|
-
version: '0
|
189
|
+
version: '1.0'
|
190
190
|
- !ruby/object:Gem::Dependency
|
191
191
|
name: hoe-mercurial
|
192
192
|
requirement: !ruby/object:Gem::Requirement
|
@@ -257,6 +257,20 @@ dependencies:
|
|
257
257
|
- - ~>
|
258
258
|
- !ruby/object:Gem::Version
|
259
259
|
version: '1.2'
|
260
|
+
- !ruby/object:Gem::Dependency
|
261
|
+
name: rspec
|
262
|
+
requirement: !ruby/object:Gem::Requirement
|
263
|
+
requirements:
|
264
|
+
- - ~>
|
265
|
+
- !ruby/object:Gem::Version
|
266
|
+
version: 2.99.0.beta1
|
267
|
+
type: :development
|
268
|
+
prerelease: false
|
269
|
+
version_requirements: !ruby/object:Gem::Requirement
|
270
|
+
requirements:
|
271
|
+
- - ~>
|
272
|
+
- !ruby/object:Gem::Version
|
273
|
+
version: 2.99.0.beta1
|
260
274
|
- !ruby/object:Gem::Dependency
|
261
275
|
name: simplecov
|
262
276
|
requirement: !ruby/object:Gem::Requirement
|
@@ -291,14 +305,14 @@ dependencies:
|
|
291
305
|
requirements:
|
292
306
|
- - ~>
|
293
307
|
- !ruby/object:Gem::Version
|
294
|
-
version: '3.
|
308
|
+
version: '3.8'
|
295
309
|
type: :development
|
296
310
|
prerelease: false
|
297
311
|
version_requirements: !ruby/object:Gem::Requirement
|
298
312
|
requirements:
|
299
313
|
- - ~>
|
300
314
|
- !ruby/object:Gem::Version
|
301
|
-
version: '3.
|
315
|
+
version: '3.8'
|
302
316
|
description: |-
|
303
317
|
Strelka is a framework for creating and deploying
|
304
318
|
Mongrel2[http://mongrel2.org/] web applications in Ruby.
|
@@ -483,7 +497,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
483
497
|
version: '0'
|
484
498
|
requirements: []
|
485
499
|
rubyforge_project: strelka
|
486
|
-
rubygems_version: 2.1
|
500
|
+
rubygems_version: 2.2.1
|
487
501
|
signing_key:
|
488
502
|
specification_version: 4
|
489
503
|
summary: Strelka is a framework for creating and deploying Mongrel2[http://mongrel2.org/]
|