strelka 0.0.1pre4 → 0.0.1.pre129

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. data/History.rdoc +1 -1
  2. data/IDEAS.rdoc +62 -0
  3. data/Manifest.txt +38 -7
  4. data/README.rdoc +124 -5
  5. data/Rakefile +22 -6
  6. data/bin/leash +102 -157
  7. data/contrib/hoetemplate/.autotest.erb +23 -0
  8. data/contrib/hoetemplate/History.rdoc.erb +4 -0
  9. data/contrib/hoetemplate/Manifest.txt.erb +8 -0
  10. data/contrib/hoetemplate/README.rdoc.erb +17 -0
  11. data/contrib/hoetemplate/Rakefile.erb +24 -0
  12. data/contrib/hoetemplate/data/file_name/apps/file_name_app +36 -0
  13. data/contrib/hoetemplate/data/file_name/templates/layout.tmpl.erb +13 -0
  14. data/contrib/hoetemplate/data/file_name/templates/top.tmpl.erb +8 -0
  15. data/contrib/hoetemplate/lib/file_name.rb.erb +18 -0
  16. data/contrib/hoetemplate/spec/file_name_spec.rb.erb +21 -0
  17. data/data/strelka/apps/hello-world +30 -0
  18. data/lib/strelka/app/defaultrouter.rb +49 -30
  19. data/lib/strelka/app/errors.rb +121 -0
  20. data/lib/strelka/app/exclusiverouter.rb +40 -0
  21. data/lib/strelka/app/filters.rb +18 -7
  22. data/lib/strelka/app/negotiation.rb +122 -0
  23. data/lib/strelka/app/parameters.rb +171 -14
  24. data/lib/strelka/app/paramvalidator.rb +751 -0
  25. data/lib/strelka/app/plugins.rb +66 -46
  26. data/lib/strelka/app/restresources.rb +499 -0
  27. data/lib/strelka/app/router.rb +73 -0
  28. data/lib/strelka/app/routing.rb +140 -18
  29. data/lib/strelka/app/templating.rb +12 -3
  30. data/lib/strelka/app.rb +174 -24
  31. data/lib/strelka/constants.rb +0 -20
  32. data/lib/strelka/exceptions.rb +29 -0
  33. data/lib/strelka/httprequest/acceptparams.rb +377 -0
  34. data/lib/strelka/httprequest/negotiation.rb +257 -0
  35. data/lib/strelka/httprequest.rb +155 -7
  36. data/lib/strelka/httpresponse/negotiation.rb +579 -0
  37. data/lib/strelka/httpresponse.rb +140 -0
  38. data/lib/strelka/logging.rb +4 -1
  39. data/lib/strelka/mixins.rb +53 -0
  40. data/lib/strelka.rb +22 -1
  41. data/spec/data/error.tmpl +1 -0
  42. data/spec/lib/constants.rb +0 -1
  43. data/spec/lib/helpers.rb +21 -0
  44. data/spec/strelka/app/defaultrouter_spec.rb +41 -35
  45. data/spec/strelka/app/errors_spec.rb +212 -0
  46. data/spec/strelka/app/exclusiverouter_spec.rb +220 -0
  47. data/spec/strelka/app/filters_spec.rb +196 -0
  48. data/spec/strelka/app/negotiation_spec.rb +73 -0
  49. data/spec/strelka/app/parameters_spec.rb +149 -0
  50. data/spec/strelka/app/paramvalidator_spec.rb +1059 -0
  51. data/spec/strelka/app/plugins_spec.rb +26 -19
  52. data/spec/strelka/app/restresources_spec.rb +393 -0
  53. data/spec/strelka/app/router_spec.rb +63 -0
  54. data/spec/strelka/app/routing_spec.rb +183 -9
  55. data/spec/strelka/app/templating_spec.rb +1 -2
  56. data/spec/strelka/app_spec.rb +265 -32
  57. data/spec/strelka/exceptions_spec.rb +53 -0
  58. data/spec/strelka/httprequest/acceptparams_spec.rb +282 -0
  59. data/spec/strelka/httprequest/negotiation_spec.rb +246 -0
  60. data/spec/strelka/httprequest_spec.rb +204 -14
  61. data/spec/strelka/httpresponse/negotiation_spec.rb +464 -0
  62. data/spec/strelka/httpresponse_spec.rb +114 -0
  63. data/spec/strelka/mixins_spec.rb +99 -0
  64. data.tar.gz.sig +1 -0
  65. metadata +175 -79
  66. metadata.gz.sig +2 -0
  67. data/IDEAS.textile +0 -174
  68. data/data/strelka/apps/strelka-admin +0 -65
  69. data/data/strelka/apps/strelka-setup +0 -26
  70. data/data/strelka/bootstrap-config.rb +0 -34
  71. data/data/strelka/templates/admin/console.tmpl +0 -21
  72. data/data/strelka/templates/layout.tmpl +0 -30
  73. data/lib/strelka/process.rb +0 -19
@@ -0,0 +1,114 @@
1
+ #!/usr/bin/env ruby
2
+ #encoding: utf-8
3
+
4
+ BEGIN {
5
+ require 'pathname'
6
+ basedir = Pathname.new( __FILE__ ).dirname.parent.parent
7
+
8
+ $LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
9
+ }
10
+
11
+ require 'rspec'
12
+ require 'spec/lib/helpers'
13
+ require 'strelka/httpresponse'
14
+
15
+
16
+ #####################################################################
17
+ ### C O N T E X T S
18
+ #####################################################################
19
+
20
+ describe Strelka::HTTPResponse do
21
+
22
+ before( :all ) do
23
+ setup_logging( :fatal )
24
+ @request_factory = Mongrel2::RequestFactory.new( route: '/glossary' )
25
+ end
26
+
27
+ before( :each ) do
28
+ @res = @request_factory.get( '/glossary/reduct' ).response
29
+ end
30
+
31
+ after( :all ) do
32
+ reset_logging()
33
+ end
34
+
35
+
36
+ it "adds a charset to the response's content-type header if one is explicitly set" do
37
+ @res.content_type = 'text/html'
38
+ @res.charset = Encoding::UTF_8
39
+
40
+ @res.header_data.should =~ %r{Content-type: text/html; charset=UTF-8}i
41
+ end
42
+
43
+ it "replaces the existing content-type header charset if one is explicitly set" do
44
+ @res.content_type = 'text/html; charset=iso-8859-1'
45
+ @res.charset = Encoding::UTF_8
46
+
47
+ @res.header_data.should =~ /charset=UTF-8/i
48
+ @res.header_data.should_not =~ /charset=iso-8859-1/
49
+ end
50
+
51
+ it "adds a charset to the response's content-type header based on the entity body's encoding " +
52
+ "if there isn't already one set on the request or the header" do
53
+ @res.body = "Стрелке".encode( 'koi8-r' )
54
+ @res.content_type = 'text/plain'
55
+
56
+ @res.header_data.should =~ /charset=koi8-r/i
57
+ end
58
+
59
+ it "adds a charset to the response's content-type header based on the entity body's " +
60
+ "external encoding if there isn't already one set on the request or the header" do
61
+ @res.body = File.open( __FILE__, 'r:iso-8859-5' )
62
+ @res.content_type = 'text/plain'
63
+
64
+ @res.header_data.should =~ /charset=iso-8859-5/i
65
+ end
66
+
67
+ it "doesn't replace a charset in the content-type header with one based on the entity body" do
68
+ @res.body = "Стрелке".encode( 'iso-8859-5' )
69
+ @res.content_type = 'text/plain; charset=utf-8'
70
+
71
+ @res.header_data.should_not =~ /charset=iso-8859-5/i
72
+ @res.header_data.should =~ /charset=utf-8/i
73
+ end
74
+
75
+ it "doesn't add a charset to the response's content-type header if it's explicitly set " +
76
+ "to ASCII-8BIT" do
77
+ @res.content_type = 'text/plain'
78
+ @res.charset = Encoding::ASCII_8BIT
79
+
80
+ @res.header_data.should_not =~ /charset/i
81
+ end
82
+
83
+ it "strips an existing charset from the response's content-type header if it's explicitly " +
84
+ "set to ASCII-8BIT" do
85
+ @res.content_type = 'text/plain; charset=ISO-8859-15'
86
+ @res.charset = Encoding::ASCII_8BIT
87
+
88
+ @res.header_data.should_not =~ /charset/i
89
+ end
90
+
91
+
92
+ it "adds a Content-encoding header if there is one encoding" do
93
+ @res.encodings << 'gzip'
94
+ @res.header_data.should =~ /content-encoding: gzip\s*$/i
95
+ end
96
+
97
+ it "adds a Content-encoding header if there is more than one encoding" do
98
+ @res.encodings << 'gzip' << 'compress'
99
+ @res.header_data.should =~ /content-encoding: gzip, compress\s*$/i
100
+ end
101
+
102
+
103
+ it "adds a Content-language header if there is one language" do
104
+ @res.languages << 'de'
105
+ @res.header_data.should =~ /content-language: de\s*$/i
106
+ end
107
+
108
+ it "adds a Content-language header if there is more than one language" do
109
+ @res.languages << 'en' << 'sv-chef'
110
+ @res.header_data.should =~ /content-language: en, sv-chef\s*$/i
111
+ end
112
+
113
+ end
114
+
@@ -0,0 +1,99 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ BEGIN {
4
+ require 'pathname'
5
+ basedir = Pathname.new( __FILE__ ).dirname.parent.parent
6
+ $LOAD_PATH.unshift( basedir ) unless $LOAD_PATH.include?( basedir )
7
+ }
8
+
9
+ require 'rspec'
10
+ require 'spec/lib/helpers'
11
+ require 'strelka/mixins'
12
+
13
+
14
+ #####################################################################
15
+ ### C O N T E X T S
16
+ #####################################################################
17
+
18
+ describe Strelka, "mixins" do
19
+
20
+
21
+ describe Strelka::Loggable do
22
+ before(:each) do
23
+ @logfile = StringIO.new('')
24
+ Strelka.logger = Logger.new( @logfile )
25
+
26
+ @test_class = Class.new do
27
+ include Strelka::Loggable
28
+
29
+ def log_test_message( level, msg )
30
+ self.log.send( level, msg )
31
+ end
32
+
33
+ def logdebug_test_message( msg )
34
+ self.log_debug.debug( msg )
35
+ end
36
+ end
37
+ @obj = @test_class.new
38
+ end
39
+
40
+
41
+ it "is able to output to the log via its #log method" do
42
+ @obj.log_test_message( :debug, "debugging message" )
43
+ @logfile.rewind
44
+ @logfile.read.should =~ /debugging message/
45
+ end
46
+
47
+ it "is able to output to the log via its #log_debug method" do
48
+ @obj.logdebug_test_message( "sexydrownwatch" )
49
+ @logfile.rewind
50
+ @logfile.read.should =~ /sexydrownwatch/
51
+ end
52
+ end
53
+
54
+
55
+ describe Strelka::AbstractClass do
56
+
57
+ context "mixed into a class" do
58
+ it "will cause the including class to hide its ::new method" do
59
+ testclass = Class.new { include Strelka::AbstractClass }
60
+
61
+ expect {
62
+ testclass.new
63
+ }.to raise_error( NoMethodError, /private/ )
64
+ end
65
+
66
+ end
67
+
68
+
69
+ context "mixed into a superclass" do
70
+
71
+ before(:each) do
72
+ testclass = Class.new {
73
+ include Strelka::AbstractClass
74
+ pure_virtual :test_method
75
+ }
76
+ subclass = Class.new( testclass )
77
+ @instance = subclass.new
78
+ end
79
+
80
+
81
+ it "raises a NotImplementedError when unimplemented API methods are called" do
82
+ expect {
83
+ @instance.test_method
84
+ }.to raise_error( NotImplementedError, /does not provide an implementation of/ )
85
+ end
86
+
87
+ it "declares the virtual methods so that they can be used with arguments under Ruby 1.9" do
88
+ expect {
89
+ @instance.test_method( :some, :arguments )
90
+ }.to raise_error( NotImplementedError, /does not provide an implementation of/ )
91
+ end
92
+
93
+ end
94
+
95
+ end
96
+
97
+
98
+ end
99
+
data.tar.gz.sig ADDED
@@ -0,0 +1 @@
1
+ L:HH0�ˢ���3Z��g�'Ĕ<\G��W���T+�x � �4�ɼFm+���s.��O%�,_`�
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.0.1pre4
4
+ version: 0.0.1.pre129
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,61 +9,49 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain:
12
- - ! '-----BEGIN CERTIFICATE-----
13
-
14
- MIIDLDCCAhSgAwIBAgIBADANBgkqhkiG9w0BAQUFADA8MQwwCgYDVQQDDANnZWQx
15
-
16
- FzAVBgoJkiaJk/IsZAEZFgdfYWVyaWVfMRMwEQYKCZImiZPyLGQBGRYDb3JnMB4X
17
-
18
- DTEwMDkxNjE0NDg1MVoXDTExMDkxNjE0NDg1MVowPDEMMAoGA1UEAwwDZ2VkMRcw
19
-
20
- FQYKCZImiZPyLGQBGRYHX2FlcmllXzETMBEGCgmSJomT8ixkARkWA29yZzCCASIw
21
-
22
- DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALy//BFxC1f/cPSnwtJBWoFiFrir
23
-
24
- h7RicI+joq/ocVXQqI4TDWPyF/8tqkvt+rD99X9qs2YeR8CU/YiIpLWrQOYST70J
25
-
26
- vDn7Uvhb2muFVqq6+vobeTkILBEO6pionWDG8jSbo3qKm1RjKJDwg9p4wNKhPuu8
27
-
28
- KGue/BFb67KflqyApPmPeb3Vdd9clspzqeFqp7cUBMEpFS6LWxy4Gk+qvFFJBJLB
29
-
30
- BUHE/LZVJMVzfpC5Uq+QmY7B+FH/QqNndn3tOHgsPadLTNimuB1sCuL1a4z3Pepd
31
-
32
- TeLBEFmEao5Dk3K/Q8o8vlbIB/jBDTUx6Djbgxw77909x6gI9doU4LD5XMcCAwEA
33
-
34
- AaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFJeoGkOr9l4B
35
-
36
- +saMkW/ZXT4UeSvVMA0GCSqGSIb3DQEBBQUAA4IBAQBG2KObvYI2eHyyBUJSJ3jN
37
-
38
- vEnU3d60znAXbrSd2qb3r1lY1EPDD3bcy0MggCfGdg3Xu54z21oqyIdk8uGtWBPL
39
-
40
- HIa9EgfFGSUEgvcIvaYqiN4jTUtidfEFw+Ltjs8AP9gWgSIYS6Gr38V0WGFFNzIH
41
-
42
- aOD2wmu9oo/RffW4hS/8GuvfMzcw7CQ355wFR4KB/nyze+EsZ1Y5DerCAagMVuDQ
43
-
44
- U0BLmWDFzPGGWlPeQCrYHCr+AcJz+NRnaHCKLZdSKj/RHuTOt+gblRex8FAh8NeA
45
-
46
- cmlhXe46pZNJgWKbxZah85jIjx95hR8vOI+NAM5iH9kOqK13DrxacTKPhqj5PjwF
47
-
48
- -----END CERTIFICATE-----
49
-
50
- '
51
- date: 2011-09-24 00:00:00.000000000Z
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-03-02 00:00:00.000000000 Z
52
40
  dependencies:
53
41
  - !ruby/object:Gem::Dependency
54
42
  name: mongrel2
55
- requirement: &2157422980 !ruby/object:Gem::Requirement
43
+ requirement: &70261199645720 !ruby/object:Gem::Requirement
56
44
  none: false
57
45
  requirements:
58
46
  - - ~>
59
47
  - !ruby/object:Gem::Version
60
- version: 0.2.3
48
+ version: '0.15'
61
49
  type: :runtime
62
50
  prerelease: false
63
- version_requirements: *2157422980
51
+ version_requirements: *70261199645720
64
52
  - !ruby/object:Gem::Dependency
65
53
  name: configurability
66
- requirement: &2157422160 !ruby/object:Gem::Requirement
54
+ requirement: &70261199645180 !ruby/object:Gem::Requirement
67
55
  none: false
68
56
  requirements:
69
57
  - - ~>
@@ -71,54 +59,120 @@ dependencies:
71
59
  version: '1.0'
72
60
  type: :runtime
73
61
  prerelease: false
74
- version_requirements: *2157422160
62
+ version_requirements: *70261199645180
75
63
  - !ruby/object:Gem::Dependency
76
64
  name: inversion
77
- requirement: &2157421540 !ruby/object:Gem::Requirement
65
+ requirement: &70261199644720 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ~>
69
+ - !ruby/object:Gem::Version
70
+ version: '0.2'
71
+ type: :runtime
72
+ prerelease: false
73
+ version_requirements: *70261199644720
74
+ - !ruby/object:Gem::Dependency
75
+ name: trollop
76
+ requirement: &70261199644080 !ruby/object:Gem::Requirement
77
+ none: false
78
+ requirements:
79
+ - - ~>
80
+ - !ruby/object:Gem::Version
81
+ version: '1.16'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: *70261199644080
85
+ - !ruby/object:Gem::Dependency
86
+ name: highline
87
+ requirement: &70261199643540 !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ~>
91
+ - !ruby/object:Gem::Version
92
+ version: '1.6'
93
+ type: :runtime
94
+ prerelease: false
95
+ version_requirements: *70261199643540
96
+ - !ruby/object:Gem::Dependency
97
+ name: formvalidator
98
+ requirement: &70261199643100 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: 0.1.5
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: *70261199643100
107
+ - !ruby/object:Gem::Dependency
108
+ name: uuidtools
109
+ requirement: &70261199642580 !ruby/object:Gem::Requirement
110
+ none: false
111
+ requirements:
112
+ - - ~>
113
+ - !ruby/object:Gem::Version
114
+ version: 2.1.2
115
+ type: :runtime
116
+ prerelease: false
117
+ version_requirements: *70261199642580
118
+ - !ruby/object:Gem::Dependency
119
+ name: sysexits
120
+ requirement: &70261199641900 !ruby/object:Gem::Requirement
78
121
  none: false
79
122
  requirements:
80
123
  - - ~>
81
124
  - !ruby/object:Gem::Version
82
- version: '0.1'
125
+ version: '1.0'
83
126
  type: :runtime
84
127
  prerelease: false
85
- version_requirements: *2157421540
128
+ version_requirements: *70261199641900
129
+ - !ruby/object:Gem::Dependency
130
+ name: pluginfactory
131
+ requirement: &70261199641240 !ruby/object:Gem::Requirement
132
+ none: false
133
+ requirements:
134
+ - - ~>
135
+ - !ruby/object:Gem::Version
136
+ version: '1.0'
137
+ type: :runtime
138
+ prerelease: false
139
+ version_requirements: *70261199641240
86
140
  - !ruby/object:Gem::Dependency
87
141
  name: hoe-mercurial
88
- requirement: &2157420920 !ruby/object:Gem::Requirement
142
+ requirement: &70261199640460 !ruby/object:Gem::Requirement
89
143
  none: false
90
144
  requirements:
91
145
  - - ~>
92
146
  - !ruby/object:Gem::Version
93
- version: 1.3.0
147
+ version: 1.3.1
94
148
  type: :development
95
149
  prerelease: false
96
- version_requirements: *2157420920
150
+ version_requirements: *70261199640460
97
151
  - !ruby/object:Gem::Dependency
98
- name: hoe-highline
99
- requirement: &2157419980 !ruby/object:Gem::Requirement
152
+ name: hoe-manualgen
153
+ requirement: &70261199639200 !ruby/object:Gem::Requirement
100
154
  none: false
101
155
  requirements:
102
156
  - - ~>
103
157
  - !ruby/object:Gem::Version
104
- version: 0.0.1
158
+ version: 0.2.0
105
159
  type: :development
106
160
  prerelease: false
107
- version_requirements: *2157419980
161
+ version_requirements: *70261199639200
108
162
  - !ruby/object:Gem::Dependency
109
- name: tilt
110
- requirement: &2157419140 !ruby/object:Gem::Requirement
163
+ name: hoe-highline
164
+ requirement: &70261199654360 !ruby/object:Gem::Requirement
111
165
  none: false
112
166
  requirements:
113
167
  - - ~>
114
168
  - !ruby/object:Gem::Version
115
- version: '1.3'
169
+ version: 0.0.1
116
170
  type: :development
117
171
  prerelease: false
118
- version_requirements: *2157419140
172
+ version_requirements: *70261199654360
119
173
  - !ruby/object:Gem::Dependency
120
174
  name: rspec
121
- requirement: &2157418320 !ruby/object:Gem::Requirement
175
+ requirement: &70261199653800 !ruby/object:Gem::Requirement
122
176
  none: false
123
177
  requirements:
124
178
  - - ~>
@@ -126,24 +180,35 @@ dependencies:
126
180
  version: '2.6'
127
181
  type: :development
128
182
  prerelease: false
129
- version_requirements: *2157418320
183
+ version_requirements: *70261199653800
184
+ - !ruby/object:Gem::Dependency
185
+ name: rdoc
186
+ requirement: &70261199653300 !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ~>
190
+ - !ruby/object:Gem::Version
191
+ version: '3.10'
192
+ type: :development
193
+ prerelease: false
194
+ version_requirements: *70261199653300
130
195
  - !ruby/object:Gem::Dependency
131
196
  name: hoe
132
- requirement: &2157417400 !ruby/object:Gem::Requirement
197
+ requirement: &70261199652840 !ruby/object:Gem::Requirement
133
198
  none: false
134
199
  requirements:
135
200
  - - ~>
136
201
  - !ruby/object:Gem::Version
137
- version: '2.12'
202
+ version: '2.13'
138
203
  type: :development
139
204
  prerelease: false
140
- version_requirements: *2157417400
205
+ version_requirements: *70261199652840
141
206
  description: ! 'Strelka is a framework for creating and deploying Mongrel2 web applications
142
207
 
143
- in Ruby. It''s still pre-alpha.
208
+ in Ruby, and for managing a Mongrel2 cluster.
144
209
 
145
210
 
146
- Strelka is named after a Russian dog who was one of the first space travelers
211
+ It''s named after the Russian dog who was one of the first space travelers
147
212
 
148
213
  to orbit the Earth and return alive.'
149
214
  email:
@@ -153,48 +218,79 @@ executables:
153
218
  extensions: []
154
219
  extra_rdoc_files:
155
220
  - Manifest.txt
156
- - README.rdoc
157
221
  - History.rdoc
222
+ - IDEAS.rdoc
223
+ - README.rdoc
158
224
  files:
225
+ - .gemtest
159
226
  - History.rdoc
160
- - IDEAS.textile
227
+ - IDEAS.rdoc
161
228
  - Manifest.txt
162
229
  - README.rdoc
163
230
  - Rakefile
164
231
  - bin/leash
165
- - data/strelka/apps/strelka-admin
166
- - data/strelka/apps/strelka-setup
167
- - data/strelka/bootstrap-config.rb
168
- - data/strelka/templates/admin/console.tmpl
169
- - data/strelka/templates/layout.tmpl
232
+ - contrib/hoetemplate/.autotest.erb
233
+ - contrib/hoetemplate/History.rdoc.erb
234
+ - contrib/hoetemplate/Manifest.txt.erb
235
+ - contrib/hoetemplate/README.rdoc.erb
236
+ - contrib/hoetemplate/Rakefile.erb
237
+ - contrib/hoetemplate/data/file_name/apps/file_name_app
238
+ - contrib/hoetemplate/data/file_name/templates/layout.tmpl.erb
239
+ - contrib/hoetemplate/data/file_name/templates/top.tmpl.erb
240
+ - contrib/hoetemplate/lib/file_name.rb.erb
241
+ - contrib/hoetemplate/spec/file_name_spec.rb.erb
242
+ - data/strelka/apps/hello-world
170
243
  - lib/strelka.rb
171
244
  - lib/strelka/app.rb
172
245
  - lib/strelka/app/defaultrouter.rb
246
+ - lib/strelka/app/errors.rb
247
+ - lib/strelka/app/exclusiverouter.rb
173
248
  - lib/strelka/app/filters.rb
249
+ - lib/strelka/app/negotiation.rb
174
250
  - lib/strelka/app/parameters.rb
251
+ - lib/strelka/app/paramvalidator.rb
175
252
  - lib/strelka/app/plugins.rb
253
+ - lib/strelka/app/restresources.rb
254
+ - lib/strelka/app/router.rb
176
255
  - lib/strelka/app/routing.rb
177
256
  - lib/strelka/app/templating.rb
178
257
  - lib/strelka/behavior/plugin.rb
179
258
  - lib/strelka/constants.rb
259
+ - lib/strelka/exceptions.rb
180
260
  - lib/strelka/httprequest.rb
261
+ - lib/strelka/httprequest/acceptparams.rb
262
+ - lib/strelka/httprequest/negotiation.rb
263
+ - lib/strelka/httpresponse.rb
264
+ - lib/strelka/httpresponse/negotiation.rb
181
265
  - lib/strelka/logging.rb
182
266
  - lib/strelka/mixins.rb
183
- - lib/strelka/process.rb
267
+ - spec/data/error.tmpl
184
268
  - spec/data/layout.tmpl
185
269
  - spec/data/main.tmpl
186
270
  - spec/lib/constants.rb
187
271
  - spec/lib/helpers.rb
188
272
  - spec/strelka/app/defaultrouter_spec.rb
273
+ - spec/strelka/app/errors_spec.rb
274
+ - spec/strelka/app/exclusiverouter_spec.rb
275
+ - spec/strelka/app/filters_spec.rb
276
+ - spec/strelka/app/negotiation_spec.rb
189
277
  - spec/strelka/app/parameters_spec.rb
278
+ - spec/strelka/app/paramvalidator_spec.rb
190
279
  - spec/strelka/app/plugins_spec.rb
280
+ - spec/strelka/app/restresources_spec.rb
281
+ - spec/strelka/app/router_spec.rb
191
282
  - spec/strelka/app/routing_spec.rb
192
283
  - spec/strelka/app/templating_spec.rb
193
284
  - spec/strelka/app_spec.rb
285
+ - spec/strelka/exceptions_spec.rb
286
+ - spec/strelka/httprequest/acceptparams_spec.rb
287
+ - spec/strelka/httprequest/negotiation_spec.rb
194
288
  - spec/strelka/httprequest_spec.rb
289
+ - spec/strelka/httpresponse/negotiation_spec.rb
290
+ - spec/strelka/httpresponse_spec.rb
195
291
  - spec/strelka/logging_spec.rb
292
+ - spec/strelka/mixins_spec.rb
196
293
  - spec/strelka_spec.rb
197
- - .gemtest
198
294
  homepage: http://deveiate.org/projects/Strelka
199
295
  licenses:
200
296
  - BSD
@@ -209,7 +305,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
209
305
  requirements:
210
306
  - - ! '>='
211
307
  - !ruby/object:Gem::Version
212
- version: 1.8.7
308
+ version: 1.9.2
213
309
  required_rubygems_version: !ruby/object:Gem::Requirement
214
310
  none: false
215
311
  requirements:
@@ -218,9 +314,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
314
  version: '0'
219
315
  requirements: []
220
316
  rubyforge_project: strelka
221
- rubygems_version: 1.8.10
317
+ rubygems_version: 1.8.16
222
318
  signing_key:
223
319
  specification_version: 3
224
320
  summary: Strelka is a framework for creating and deploying Mongrel2 web applications
225
- in Ruby
321
+ in Ruby, and for managing a Mongrel2 cluster
226
322
  test_files: []
metadata.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ C��m�P�3�rK��vXl�*ʈ��=*�xTA
2
+ � ,L Nl�*�RD���b��HDI<,�Ԧ(�_1��iwz�4k{D�W�ޞ�yI������K�����^�+� �U�]�}{_��T� s��#q�k��_�h��\W���@��{Ѷ�k`�g���vjIl؏ �ᢳ;F��@rv�*_Zb+h�bdS��_�57a$�� ��!S�I`/��lN [��fQ��V������ER)-;���}�7C