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.
- data/History.rdoc +1 -1
- data/IDEAS.rdoc +62 -0
- data/Manifest.txt +38 -7
- data/README.rdoc +124 -5
- data/Rakefile +22 -6
- data/bin/leash +102 -157
- data/contrib/hoetemplate/.autotest.erb +23 -0
- data/contrib/hoetemplate/History.rdoc.erb +4 -0
- data/contrib/hoetemplate/Manifest.txt.erb +8 -0
- data/contrib/hoetemplate/README.rdoc.erb +17 -0
- data/contrib/hoetemplate/Rakefile.erb +24 -0
- data/contrib/hoetemplate/data/file_name/apps/file_name_app +36 -0
- data/contrib/hoetemplate/data/file_name/templates/layout.tmpl.erb +13 -0
- data/contrib/hoetemplate/data/file_name/templates/top.tmpl.erb +8 -0
- data/contrib/hoetemplate/lib/file_name.rb.erb +18 -0
- data/contrib/hoetemplate/spec/file_name_spec.rb.erb +21 -0
- data/data/strelka/apps/hello-world +30 -0
- data/lib/strelka/app/defaultrouter.rb +49 -30
- data/lib/strelka/app/errors.rb +121 -0
- data/lib/strelka/app/exclusiverouter.rb +40 -0
- data/lib/strelka/app/filters.rb +18 -7
- data/lib/strelka/app/negotiation.rb +122 -0
- data/lib/strelka/app/parameters.rb +171 -14
- data/lib/strelka/app/paramvalidator.rb +751 -0
- data/lib/strelka/app/plugins.rb +66 -46
- data/lib/strelka/app/restresources.rb +499 -0
- data/lib/strelka/app/router.rb +73 -0
- data/lib/strelka/app/routing.rb +140 -18
- data/lib/strelka/app/templating.rb +12 -3
- data/lib/strelka/app.rb +174 -24
- data/lib/strelka/constants.rb +0 -20
- data/lib/strelka/exceptions.rb +29 -0
- data/lib/strelka/httprequest/acceptparams.rb +377 -0
- data/lib/strelka/httprequest/negotiation.rb +257 -0
- data/lib/strelka/httprequest.rb +155 -7
- data/lib/strelka/httpresponse/negotiation.rb +579 -0
- data/lib/strelka/httpresponse.rb +140 -0
- data/lib/strelka/logging.rb +4 -1
- data/lib/strelka/mixins.rb +53 -0
- data/lib/strelka.rb +22 -1
- data/spec/data/error.tmpl +1 -0
- data/spec/lib/constants.rb +0 -1
- data/spec/lib/helpers.rb +21 -0
- data/spec/strelka/app/defaultrouter_spec.rb +41 -35
- data/spec/strelka/app/errors_spec.rb +212 -0
- data/spec/strelka/app/exclusiverouter_spec.rb +220 -0
- data/spec/strelka/app/filters_spec.rb +196 -0
- data/spec/strelka/app/negotiation_spec.rb +73 -0
- data/spec/strelka/app/parameters_spec.rb +149 -0
- data/spec/strelka/app/paramvalidator_spec.rb +1059 -0
- data/spec/strelka/app/plugins_spec.rb +26 -19
- data/spec/strelka/app/restresources_spec.rb +393 -0
- data/spec/strelka/app/router_spec.rb +63 -0
- data/spec/strelka/app/routing_spec.rb +183 -9
- data/spec/strelka/app/templating_spec.rb +1 -2
- data/spec/strelka/app_spec.rb +265 -32
- data/spec/strelka/exceptions_spec.rb +53 -0
- data/spec/strelka/httprequest/acceptparams_spec.rb +282 -0
- data/spec/strelka/httprequest/negotiation_spec.rb +246 -0
- data/spec/strelka/httprequest_spec.rb +204 -14
- data/spec/strelka/httpresponse/negotiation_spec.rb +464 -0
- data/spec/strelka/httpresponse_spec.rb +114 -0
- data/spec/strelka/mixins_spec.rb +99 -0
- data.tar.gz.sig +1 -0
- metadata +175 -79
- metadata.gz.sig +2 -0
- data/IDEAS.textile +0 -174
- data/data/strelka/apps/strelka-admin +0 -65
- data/data/strelka/apps/strelka-setup +0 -26
- data/data/strelka/bootstrap-config.rb +0 -34
- data/data/strelka/templates/admin/console.tmpl +0 -21
- data/data/strelka/templates/layout.tmpl +0 -30
- 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.
|
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
|
-
- !
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
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: &
|
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.
|
48
|
+
version: '0.15'
|
61
49
|
type: :runtime
|
62
50
|
prerelease: false
|
63
|
-
version_requirements: *
|
51
|
+
version_requirements: *70261199645720
|
64
52
|
- !ruby/object:Gem::Dependency
|
65
53
|
name: configurability
|
66
|
-
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: *
|
62
|
+
version_requirements: *70261199645180
|
75
63
|
- !ruby/object:Gem::Dependency
|
76
64
|
name: inversion
|
77
|
-
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
|
125
|
+
version: '1.0'
|
83
126
|
type: :runtime
|
84
127
|
prerelease: false
|
85
|
-
version_requirements: *
|
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: &
|
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.
|
147
|
+
version: 1.3.1
|
94
148
|
type: :development
|
95
149
|
prerelease: false
|
96
|
-
version_requirements: *
|
150
|
+
version_requirements: *70261199640460
|
97
151
|
- !ruby/object:Gem::Dependency
|
98
|
-
name: hoe-
|
99
|
-
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
|
158
|
+
version: 0.2.0
|
105
159
|
type: :development
|
106
160
|
prerelease: false
|
107
|
-
version_requirements: *
|
161
|
+
version_requirements: *70261199639200
|
108
162
|
- !ruby/object:Gem::Dependency
|
109
|
-
name:
|
110
|
-
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:
|
169
|
+
version: 0.0.1
|
116
170
|
type: :development
|
117
171
|
prerelease: false
|
118
|
-
version_requirements: *
|
172
|
+
version_requirements: *70261199654360
|
119
173
|
- !ruby/object:Gem::Dependency
|
120
174
|
name: rspec
|
121
|
-
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: *
|
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: &
|
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.
|
202
|
+
version: '2.13'
|
138
203
|
type: :development
|
139
204
|
prerelease: false
|
140
|
-
version_requirements: *
|
205
|
+
version_requirements: *70261199652840
|
141
206
|
description: ! 'Strelka is a framework for creating and deploying Mongrel2 web applications
|
142
207
|
|
143
|
-
in Ruby
|
208
|
+
in Ruby, and for managing a Mongrel2 cluster.
|
144
209
|
|
145
210
|
|
146
|
-
|
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.
|
227
|
+
- IDEAS.rdoc
|
161
228
|
- Manifest.txt
|
162
229
|
- README.rdoc
|
163
230
|
- Rakefile
|
164
231
|
- bin/leash
|
165
|
-
-
|
166
|
-
-
|
167
|
-
-
|
168
|
-
-
|
169
|
-
-
|
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
|
-
-
|
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.
|
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.
|
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