strelka 0.18.0 → 0.19.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.
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: []