strelka 0.0.1pre4 → 0.0.1.pre129
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.
- 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