strelka 0.18.0 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/History.rdoc +24 -0
  5. data/IDEAS.rdoc +0 -1
  6. data/README.rdoc +12 -6
  7. data/Rakefile +4 -94
  8. data/lib/strelka.rb +1 -1
  9. data/lib/strelka/app.rb +2 -3
  10. data/lib/strelka/app/parameters.rb +3 -12
  11. data/lib/strelka/app/restresources.rb +0 -3
  12. data/lib/strelka/cookie.rb +1 -1
  13. data/lib/strelka/mixins.rb +1 -1
  14. data/lib/strelka/multirunner.rb +34 -11
  15. data/lib/strelka/paramvalidator.rb +22 -45
  16. data/lib/strelka/session/default.rb +1 -1
  17. data/spec/strelka/app/parameters_spec.rb +1 -27
  18. data/spec/strelka/app_spec.rb +0 -12
  19. data/spec/strelka/mixins_spec.rb +0 -10
  20. data/spec/strelka/paramvalidator_spec.rb +4 -54
  21. metadata +51 -143
  22. metadata.gz.sig +0 -0
  23. data/.gemtest +0 -0
  24. data/ChangeLog +0 -3824
  25. data/MILESTONES.rdoc +0 -24
  26. data/Manifest.txt +0 -144
  27. data/contrib/hoetemplate/History.rdoc.erb +0 -4
  28. data/contrib/hoetemplate/Manifest.txt.erb +0 -8
  29. data/contrib/hoetemplate/README.rdoc.erb +0 -35
  30. data/contrib/hoetemplate/Rakefile.erb +0 -24
  31. data/contrib/hoetemplate/data/project/apps/file_name_app +0 -37
  32. data/contrib/hoetemplate/data/project/templates/layout.tmpl.erb +0 -13
  33. data/contrib/hoetemplate/data/project/templates/top.tmpl.erb +0 -8
  34. data/contrib/hoetemplate/lib/file_name.rb.erb +0 -15
  35. data/contrib/hoetemplate/spec/file_name_spec.rb.erb +0 -21
  36. data/contrib/strelka-dogs/doggie6.svg +0 -271
  37. data/contrib/strelka-dogs/doggie7.svg +0 -49
  38. data/examples/Procfile +0 -9
  39. data/examples/apps/auth-demo +0 -29
  40. data/examples/apps/auth-demo2 +0 -37
  41. data/examples/apps/hello-world +0 -30
  42. data/examples/apps/sessions-demo +0 -42
  43. data/examples/apps/upload-demo +0 -74
  44. data/examples/apps/ws-chat +0 -69
  45. data/examples/apps/ws-echo +0 -61
  46. data/examples/config.yml +0 -33
  47. data/examples/gen-config.rb +0 -52
  48. data/examples/static/examples.css +0 -4
  49. data/examples/static/examples.html +0 -33
  50. data/examples/strelka.conf.example +0 -51
  51. data/examples/templates/auth-form.tmpl +0 -14
  52. data/examples/templates/auth-success.tmpl +0 -5
  53. data/examples/templates/layout.tmpl +0 -31
  54. data/examples/templates/upload-form.tmpl +0 -17
  55. data/examples/templates/upload-success.tmpl +0 -13
@@ -78,7 +78,7 @@ class Strelka::Session::Default < Strelka::Session
78
78
  cookie = request.cookies[ self.cookie_name ] or return nil
79
79
 
80
80
  if cookie.value =~ /^([[:xdigit:]]+)$/i
81
- return $1.untaint
81
+ return $1
82
82
  else
83
83
  self.log.warn "Request with a malformed session cookie: %p" % [ request ]
84
84
  return nil
@@ -119,39 +119,13 @@ RSpec.describe Strelka::App::Parameters do
119
119
  end
120
120
 
121
121
  it "validates parameters from the request" do
122
- req = @request_factory.get( (+'/user/search?username=anheptoh').taint )
122
+ req = @request_factory.get( (+'/user/search?username=anheptoh') )
123
123
  @app.new.handle( req )
124
124
 
125
125
  expect( req.params ).to be_a( Strelka::ParamValidator )
126
126
  expect( req.params ).to be_okay()
127
127
  expect( req.params ).to_not have_errors()
128
128
  expect( req.params[:username] ).to eq( 'anheptoh' )
129
- expect( req.params[:username] ).to be_tainted()
130
- end
131
-
132
- it "untaints all parameters if global untainting is enabled" do
133
- @app.class_eval do
134
- untaint_all_constraints true
135
- end
136
-
137
- expect( @app.untaint_all_constraints ).to be_truthy()
138
- req = @request_factory.get( (+'/user/search?username=shereshnaheth').taint )
139
- @app.new.handle( req )
140
-
141
- expect( req.params[:username] ).to eq( 'shereshnaheth' )
142
- expect( req.params[:username] ).to_not be_tainted()
143
- end
144
-
145
- it "untaints parameters flagged for untainting" do
146
- @app.class_eval do
147
- param :message, :printable, :untaint
148
- end
149
-
150
- req = @request_factory.get( (+'/user/search?message=I+love+the+circus.').taint )
151
- @app.new.handle( req )
152
-
153
- expect( req.params[:message] ).to_not be_tainted()
154
- expect( req.params[:message] ).to eq( 'I love the circus.' )
155
129
  end
156
130
 
157
131
  end
@@ -245,18 +245,6 @@ RSpec.describe Strelka::App do
245
245
  expect( @app ).to be_in_devmode()
246
246
  end
247
247
 
248
- it "configures itself to be in 'developer mode' if debugging is enabled" do
249
- debugsetting = $DEBUG
250
-
251
- begin
252
- $DEBUG = true
253
- @app.configure
254
- expect( @app ).to be_in_devmode()
255
- ensure
256
- $DEBUG = debugsetting
257
- end
258
- end
259
-
260
248
  it "closes async uploads with a 413 Request Entity Too Large by default" do
261
249
  @req.headers.x_mongrel2_upload_start = 'an/uploaded/file/path'
262
250
 
@@ -279,16 +279,6 @@ RSpec.describe Strelka, "mixins" do
279
279
  expect( copy.default_proc ).to eq( original.default_proc )
280
280
  end
281
281
 
282
- it "preserves taintedness of copied objects" do
283
- original = Object.new
284
- original.taint
285
-
286
- copy = Strelka::DataUtilities.deep_copy( original )
287
-
288
- expect( copy ).to_not be( original )
289
- expect( copy ).to be_tainted()
290
- end
291
-
292
282
  it "preserves frozen-ness of copied objects" do
293
283
  original = Object.new
294
284
  original.freeze
@@ -16,12 +16,6 @@ require 'strelka/paramvalidator'
16
16
  #####################################################################
17
17
  RSpec.describe Strelka::ParamValidator do
18
18
 
19
- # Utility function to make tainted frozen strings out of frozen string literals
20
- def tainted( string )
21
- return ( +string ).taint.freeze
22
- end
23
-
24
-
25
19
  before(:each) do
26
20
  @validator = Strelka::ParamValidator.new
27
21
  end
@@ -138,16 +132,6 @@ RSpec.describe Strelka::ParamValidator do
138
132
  expect( @validator.error_messages.first ).to match( /foo/i )
139
133
  end
140
134
 
141
- it "untaints valid args if told to do so" do
142
- tainted_one = tainted( "1" )
143
-
144
- @validator.add( :number, /^\d+$/, :untaint )
145
- @validator.validate( 'number' => tainted_one )
146
-
147
- expect( @validator[:number] ).to eq( "1" )
148
- expect( @validator[:number].tainted? ).to be_falsey()
149
- end
150
-
151
135
  it "knows the names of fields that were required but missing from the parameters" do
152
136
  @validator.add( :id, :integer, :required )
153
137
  @validator.validate( {} )
@@ -340,38 +324,6 @@ RSpec.describe Strelka::ParamValidator do
340
324
  })
341
325
  end
342
326
 
343
- it "untaints both keys and values in complex hash fields if untainting is turned on" do
344
- @validator.add( 'recipe[ingredient][rarity]', /^([\w\-]+)$/, :required )
345
- @validator.add( 'recipe[ingredient][name]', :string )
346
- @validator.add( 'recipe[ingredient][cost]', :string )
347
- @validator.add( 'recipe[yield]', :string )
348
- @validator.untaint_all_constraints = true
349
-
350
- args = {
351
- tainted('recipe[ingredient][rarity]') => tainted('super-rare'),
352
- tainted('recipe[ingredient][name]') => tainted('nutmeg'),
353
- tainted('recipe[ingredient][cost]') => tainted('$0.18'),
354
- tainted('recipe[yield]') => tainted('2 loaves'),
355
- }
356
- @validator.validate( args )
357
-
358
- expect( @validator.valid ).to eq({
359
- 'recipe' => {
360
- 'ingredient' => { 'name' => 'nutmeg', 'cost' => '$0.18', 'rarity' => 'super-rare' },
361
- 'yield' => '2 loaves'
362
- }
363
- })
364
-
365
- @validator.valid.keys.each {|key| expect(key).to_not be_tainted() }
366
- @validator.valid.values.each {|key| expect(key).to_not be_tainted() }
367
- @validator.valid['recipe'].keys.each {|key| expect(key).to_not be_tainted() }
368
- @validator.valid['recipe']['ingredient'].keys.each {|key| expect(key).to_not be_tainted() }
369
- expect( @validator.valid['recipe']['yield'] ).to_not be_tainted()
370
- expect( @validator.valid['recipe']['ingredient']['rarity'] ).to_not be_tainted()
371
- expect( @validator.valid['recipe']['ingredient']['name'] ).to_not be_tainted()
372
- expect( @validator.valid['recipe']['ingredient']['cost'] ).to_not be_tainted()
373
- end
374
-
375
327
  end # describe "hash parameters"
376
328
 
377
329
  describe "merging new parameters" do
@@ -453,12 +405,10 @@ RSpec.describe Strelka::ParamValidator do
453
405
  end
454
406
 
455
407
  it "returns the captures with named captures as a Hash" do
456
- @validator.add( :order_number, /(?<category>[[:upper:]]{3})-(?<sku>\d{12})/, :untaint )
457
- @validator.validate( 'order_number' => tainted(" JVV-886451300133 ") )
408
+ @validator.add( :order_number, /(?<category>[[:upper:]]{3})-(?<sku>\d{12})/ )
409
+ @validator.validate( 'order_number' => " JVV-886451300133 ".dup )
458
410
 
459
411
  expect( @validator[:order_number] ).to eq( {:category => 'JVV', :sku => '886451300133'} )
460
- expect( @validator[:order_number][:category] ).to_not be_tainted()
461
- expect( @validator[:order_number][:sku] ).to_not be_tainted()
462
412
  end
463
413
 
464
414
  it "returns the captures as an array " +
@@ -782,7 +732,7 @@ RSpec.describe Strelka::ParamValidator do
782
732
 
783
733
  end
784
734
 
785
- describe ":date constaints" do
735
+ describe ":date constraints" do
786
736
 
787
737
  before( :each ) do
788
738
  @validator.add( :expires, :date )
@@ -808,7 +758,7 @@ RSpec.describe Strelka::ParamValidator do
808
758
 
809
759
  end
810
760
 
811
- describe ":datetime constaints" do
761
+ describe ":datetime constraints" do
812
762
 
813
763
  before( :each ) do
814
764
  @validator.add( :expires, :datetime )
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.18.0
4
+ version: 0.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mahlon E. Smith
@@ -11,31 +11,31 @@ bindir: bin
11
11
  cert_chain:
12
12
  - |
13
13
  -----BEGIN CERTIFICATE-----
14
- MIIENDCCApygAwIBAgIBATANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdtYWhs
15
- b24vREM9bWFydGluaS9EQz1udTAeFw0xODEyMDkwMzMxNTJaFw0xOTEyMDkwMzMx
16
- NTJaMCIxIDAeBgNVBAMMF21haGxvbi9EQz1tYXJ0aW5pL0RDPW51MIIBojANBgkq
17
- hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3cz7ILM8n+Y5nvz7mVRVqE8LusWdT8NX
18
- nlnETynDndenI+a2S3j22DR+U4ooGUjuCHE3iR1CVmTDGbxFfNRfmnC1AN9Hybat
19
- ewW+onvMBye7yfO0bJB5vkqaW5vd35rzquOffgBtJMo7rPRu6pX8RkL34Wnew4J7
20
- POooUcYbWSAO934HSCUC8wVm6b4v/ejVF1Lk44Dz45jtMqtR7KTAtpipdbTXAarO
21
- HQy3eVes/0oTqhk4CP50r1KP09nUHTn2lzVaCN9vmNE/Jwe0AuQ9ImvZXPpCsMMl
22
- V03/tuJ++48sVmOIusJkASPupXcdI6zqsjYw2vLMFtuYNskRSvwbn6Wm6x9hLWWj
23
- IRp5FvHPORLRCHFizXRmXZ3PyFHqbv6m4yG0SyfMzOXPk3Hn5dqqmK+BFCihTZIN
24
- fqpBmuxyNEE21fSO9ALLlWeW9ffg9Ye5Sc1n3yEyv8rPb9VDvi1B5N6xIcDFMNVs
25
- RiCamNbET4Sq9VIYwYtcB1f6EataqFEhAgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYD
26
- VR0PBAQDAgSwMB0GA1UdDgQWBBR8KtAhZIhe2uPQHCgU5HurIG7crTAcBgNVHREE
27
- FTATgRFtYWhsb25AbWFydGluaS5udTAcBgNVHRIEFTATgRFtYWhsb25AbWFydGlu
28
- aS5udTANBgkqhkiG9w0BAQsFAAOCAYEABMyF43FOfY+DULlLbR/S6k62DxsJn6dA
29
- YE1DI0o/IGN9t6ga7iQT944HM3gg1AIsONBvFwU31/VLG3Pp91k6YVEQvZITKBOz
30
- EVjhTfKBvoqWyuwMKCYn9ZtCASfZDFec7SMsgwIbKuncb6RKjH9cYauuDOtd55lC
31
- pie+OmOF330StWH/Z/WY5WiRGstpL5/Qk0y4NMqcV/T59fNIVNxG4k5/VNgVYQIM
32
- 4Yrvx5tkYPIvPOroIGfDu6CfrQVNg4QJrQN2LZmXGoEV47v1kdV9kMAeFDBkTmPS
33
- XqnsRK6X7WhFON8/7CliGvF+T8dmfGJS5R46x7FIzendFMA6pY4IknfGEabzyL9O
34
- 8IIu155/luqHPnzYLlRi4n+hzwkwGh9erCmbMqrsATqVf4C20H7EAOlDlhmNDqiV
35
- g3nSb5geweeDxf7Phf3qyZgglWB4UGR0aUkzOwj6yFj1ugCU2R7CwNhqgmtdkvYm
36
- tuLuv1oCfpuEmRh93FiLFsOLV3auiU+c
14
+ MIIENDCCApygAwIBAgIBATANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdnZWQv
15
+ REM9RmFlcmllTVVEL0RDPW9yZzAeFw0xOTEwMDkwMDM2NTdaFw0yMDEwMDgwMDM2
16
+ NTdaMCIxIDAeBgNVBAMMF2dlZC9EQz1GYWVyaWVNVUQvREM9b3JnMIIBojANBgkq
17
+ hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAvyVhkRzvlEs0fe7145BYLfN6njX9ih5H
18
+ L60U0p0euIurpv84op9CNKF9tx+1WKwyQvQP7qFGuZxkSUuWcP/sFhDXL1lWUuIl
19
+ M4uHbGCRmOshDrF4dgnBeOvkHr1fIhPlJm5FO+Vew8tSQmlDsosxLUx+VB7DrVFO
20
+ 5PU2AEbf04GGSrmqADGWXeaslaoRdb1fu/0M5qfPTRn5V39sWD9umuDAF9qqil/x
21
+ Sl6phTvgBrG8GExHbNZpLARd3xrBYLEFsX7RvBn2UPfgsrtvpdXjsHGfpT3IPN+B
22
+ vQ66lts4alKC69TE5cuKasWBm+16A4aEe3XdZBRNmtOu/g81gvwA7fkJHKllJuaI
23
+ dXzdHqq+zbGZVSQ7pRYHYomD0IiDe1DbIouFnPWmagaBnGHwXkDT2bKKP+s2v21m
24
+ ozilJg4aar2okb/RA6VS87o+d7g6LpDDMMQjH4G9OPnJENLdhu8KnPw/ivSVvQw7
25
+ N2I4L/ZOIe2DIVuYH7aLHfjZDQv/mNgpAgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYD
26
+ VR0PBAQDAgSwMB0GA1UdDgQWBBRyjf55EbrHagiRLqt5YAd3yb8k4DAcBgNVHREE
27
+ FTATgRFnZWRARmFlcmllTVVELm9yZzAcBgNVHRIEFTATgRFnZWRARmFlcmllTVVE
28
+ Lm9yZzANBgkqhkiG9w0BAQsFAAOCAYEAFqsr6o0SvQRgjQVmhbQvExRnCMCoW1yb
29
+ FJiN7A5RA2Iy2E61OG1Ul5nGmaDmx/PNB/6JIbIV3B9Uq8aTZx4uOjK7r8vMl1/t
30
+ ZfY7r6HejJfXlcO2m6JDMbpdyEVv916LncBkzZRz6vnnNCx+31f15FKddxujpAFd
31
+ qpn3JRQY+oj7ZkoccL/IUiDpxQWeS3oOoz9qr2kVTp8R50InZimt79FqCl/1m66W
32
+ kdOuf+wM3DDx7Rt4IVNHrhGlyfMr7xjKW1Q3gll+pMN1DT6Ajx/t3JDSEg7BnnEW
33
+ r7AciSO6J4ApUdqyG+coLFlGdtgFTgRHv7ihbQtDI7Z/LV7A4Spn1j2PK3j0Omri
34
+ kSl1hPVigRytfgdVGiLXzvkkrkgj9EknCaj5UHbac7XvVBrljXj9hsnnqTANaKsg
35
+ jBZSA+N+xUTgUWpXjjwsLZjzJkhWATJWq+krNXcqpwXo6HsjmdUxoFMt63RBb+sI
36
+ XrxOxp8o0uOkU7FdLSGsyqJ2LzsR4obN
37
37
  -----END CERTIFICATE-----
38
- date: 2019-09-25 00:00:00.000000000 Z
38
+ date: 2020-02-05 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: configurability
@@ -99,14 +99,14 @@ dependencies:
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '0.9'
102
+ version: '0.15'
103
103
  type: :runtime
104
104
  prerelease: false
105
105
  version_requirements: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '0.9'
109
+ version: '0.15'
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: mongrel2
112
112
  requirement: !ruby/object:Gem::Requirement
@@ -192,61 +192,33 @@ dependencies:
192
192
  - !ruby/object:Gem::Version
193
193
  version: '2.14'
194
194
  - !ruby/object:Gem::Dependency
195
- name: hoe-mercurial
195
+ name: rake-deveiate
196
196
  requirement: !ruby/object:Gem::Requirement
197
197
  requirements:
198
198
  - - "~>"
199
199
  - !ruby/object:Gem::Version
200
- version: '1.4'
201
- type: :development
202
- prerelease: false
203
- version_requirements: !ruby/object:Gem::Requirement
204
- requirements:
205
- - - "~>"
206
- - !ruby/object:Gem::Version
207
- version: '1.4'
208
- - !ruby/object:Gem::Dependency
209
- name: hoe-deveiate
210
- requirement: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - "~>"
213
- - !ruby/object:Gem::Version
214
- version: '0.10'
215
- type: :development
216
- prerelease: false
217
- version_requirements: !ruby/object:Gem::Requirement
218
- requirements:
219
- - - "~>"
220
- - !ruby/object:Gem::Version
221
- version: '0.10'
222
- - !ruby/object:Gem::Dependency
223
- name: hoe-highline
224
- requirement: !ruby/object:Gem::Requirement
225
- requirements:
226
- - - "~>"
227
- - !ruby/object:Gem::Version
228
- version: '0.2'
200
+ version: '0.9'
229
201
  type: :development
230
202
  prerelease: false
231
203
  version_requirements: !ruby/object:Gem::Requirement
232
204
  requirements:
233
205
  - - "~>"
234
206
  - !ruby/object:Gem::Version
235
- version: '0.2'
207
+ version: '0.9'
236
208
  - !ruby/object:Gem::Dependency
237
209
  name: rspec
238
210
  requirement: !ruby/object:Gem::Requirement
239
211
  requirements:
240
212
  - - "~>"
241
213
  - !ruby/object:Gem::Version
242
- version: '3.0'
214
+ version: '3.8'
243
215
  type: :development
244
216
  prerelease: false
245
217
  version_requirements: !ruby/object:Gem::Requirement
246
218
  requirements:
247
219
  - - "~>"
248
220
  - !ruby/object:Gem::Version
249
- version: '3.0'
221
+ version: '3.8'
250
222
  - !ruby/object:Gem::Dependency
251
223
  name: simplecov
252
224
  requirement: !ruby/object:Gem::Requirement
@@ -276,104 +248,42 @@ dependencies:
276
248
  - !ruby/object:Gem::Version
277
249
  version: '0.1'
278
250
  - !ruby/object:Gem::Dependency
279
- name: rdoc
251
+ name: sqlite3
280
252
  requirement: !ruby/object:Gem::Requirement
281
253
  requirements:
282
- - - ">="
283
- - !ruby/object:Gem::Version
284
- version: '4.0'
285
- - - "<"
254
+ - - "~>"
286
255
  - !ruby/object:Gem::Version
287
- version: '7'
288
- type: :development
289
- prerelease: false
290
- version_requirements: !ruby/object:Gem::Requirement
291
- requirements:
256
+ version: '1.4'
292
257
  - - ">="
293
258
  - !ruby/object:Gem::Version
294
- version: '4.0'
295
- - - "<"
296
- - !ruby/object:Gem::Version
297
- version: '7'
298
- - !ruby/object:Gem::Dependency
299
- name: hoe
300
- requirement: !ruby/object:Gem::Requirement
301
- requirements:
302
- - - "~>"
303
- - !ruby/object:Gem::Version
304
- version: '3.18'
259
+ version: 1.4.2
305
260
  type: :development
306
261
  prerelease: false
307
262
  version_requirements: !ruby/object:Gem::Requirement
308
263
  requirements:
309
264
  - - "~>"
310
265
  - !ruby/object:Gem::Version
311
- version: '3.18'
312
- description: |-
313
- Strelka is a framework for creating and deploying
314
- Mongrel2[http://mongrel2.org/] web applications in Ruby.
315
-
316
- It's named after a lesser known {Russian
317
- cosmonaut}[http://en.wikipedia.org/wiki/Strelka_(dog)#Belka_and_Strelka] who was
318
- one of the first canine space travelers to orbit the Earth and return alive.
319
- Her name means "little arrow".
266
+ version: '1.4'
267
+ - - ">="
268
+ - !ruby/object:Gem::Version
269
+ version: 1.4.2
270
+ description: Strelka is a framework for creating and deploying Mongrel2[http://mongrel2.org/]
271
+ web applications in Ruby.
320
272
  email:
321
273
  - mahlon@martini.nu
322
- - ged@FaerieMUD.org
323
- executables:
324
- - strelka
274
+ - ged@faeriemud.org
275
+ executables: []
325
276
  extensions: []
326
- extra_rdoc_files:
327
- - Deploying.rdoc
328
- - History.rdoc
329
- - IDEAS.rdoc
330
- - MILESTONES.rdoc
331
- - Manifest.txt
332
- - Plugins.rdoc
333
- - README.rdoc
334
- - Tutorial.rdoc
277
+ extra_rdoc_files: []
335
278
  files:
336
- - ".gemtest"
337
- - ChangeLog
338
279
  - Deploying.rdoc
339
280
  - History.rdoc
340
281
  - IDEAS.rdoc
341
- - MILESTONES.rdoc
342
- - Manifest.txt
343
282
  - Plugins.rdoc
344
283
  - README.rdoc
345
284
  - Rakefile
346
285
  - Tutorial.rdoc
347
286
  - bin/strelka
348
- - contrib/hoetemplate/History.rdoc.erb
349
- - contrib/hoetemplate/Manifest.txt.erb
350
- - contrib/hoetemplate/README.rdoc.erb
351
- - contrib/hoetemplate/Rakefile.erb
352
- - contrib/hoetemplate/data/project/apps/file_name_app
353
- - contrib/hoetemplate/data/project/templates/layout.tmpl.erb
354
- - contrib/hoetemplate/data/project/templates/top.tmpl.erb
355
- - contrib/hoetemplate/lib/file_name.rb.erb
356
- - contrib/hoetemplate/spec/file_name_spec.rb.erb
357
- - contrib/strelka-dogs/doggie6.svg
358
- - contrib/strelka-dogs/doggie7.svg
359
- - examples/Procfile
360
- - examples/apps/auth-demo
361
- - examples/apps/auth-demo2
362
- - examples/apps/hello-world
363
- - examples/apps/sessions-demo
364
- - examples/apps/upload-demo
365
- - examples/apps/ws-chat
366
- - examples/apps/ws-echo
367
- - examples/config.yml
368
- - examples/gen-config.rb
369
- - examples/static/examples.css
370
- - examples/static/examples.html
371
- - examples/strelka.conf.example
372
- - examples/templates/auth-form.tmpl
373
- - examples/templates/auth-success.tmpl
374
- - examples/templates/layout.tmpl
375
- - examples/templates/upload-form.tmpl
376
- - examples/templates/upload-success.tmpl
377
287
  - lib/strelka.rb
378
288
  - lib/strelka/app.rb
379
289
  - lib/strelka/app/auth.rb
@@ -477,30 +387,28 @@ files:
477
387
  - spec/strelka/websocketserver/routing_spec.rb
478
388
  - spec/strelka/websocketserver_spec.rb
479
389
  - spec/strelka_spec.rb
480
- homepage: http://deveiate.org/projects/Strelka
390
+ homepage: https://hg.sr.ht/~ged/Strelka
481
391
  licenses:
482
- - BSD
392
+ - BSD-3-Clause
483
393
  metadata: {}
484
394
  post_install_message:
485
- rdoc_options:
486
- - "--main"
487
- - README.rdoc
395
+ rdoc_options: []
488
396
  require_paths:
489
397
  - lib
490
398
  required_ruby_version: !ruby/object:Gem::Requirement
491
399
  requirements:
492
400
  - - ">="
493
401
  - !ruby/object:Gem::Version
494
- version: 2.2.0
402
+ version: '0'
495
403
  required_rubygems_version: !ruby/object:Gem::Requirement
496
404
  requirements:
497
405
  - - ">="
498
406
  - !ruby/object:Gem::Version
499
407
  version: '0'
500
408
  requirements: []
501
- rubygems_version: 3.0.4
409
+ rubygems_version: 3.1.2
502
410
  signing_key:
503
411
  specification_version: 4
504
412
  summary: Strelka is a framework for creating and deploying Mongrel2[http://mongrel2.org/]
505
- web applications in Ruby
413
+ web applications in Ruby.
506
414
  test_files: []