unicorn-cuba-base 1.5.0 → 1.6.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.
- checksums.yaml +8 -8
- data/Gemfile +1 -1
- data/Gemfile.lock +1 -1
- data/Rakefile +5 -2
- data/VERSION +1 -1
- data/lib/unicorn-cuba-base.rb +4 -0
- data/lib/unicorn-cuba-base/perf_stats.rb +28 -9
- data/lib/unicorn-cuba-base/root_logger.rb +15 -0
- metadata +13 -12
- data/.rspec +0 -1
- data/spec/memory_limit_spec.rb +0 -66
- data/spec/root_logger_spec.rb +0 -152
- data/spec/spec_helper.rb +0 -12
- data/unicorn-cuba-base.gemspec +0 -96
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NDM4MGI3YTdmZWYyNWE4NmU5M2Q0ODhlZDBmYzBmNGRhZmRhNDY3Mw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MjUzOTJiMTgwMmRkMGY2MDg1YTU3MGNjNzA2MDIyZGMzMDU0YTdhNQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NzUzM2M4ODdkZTdjODM5ZTViNjJhZTYxNGRlNTFjNTQ5ZmNiZDJhMDVmYzVj
|
10
|
+
OTk5ODAyYjU4NzQwNWQzMzMwNjMzNDczYjlkMzMxZjJiYjkzMGI0Mjc5NDMx
|
11
|
+
MmVhNjFlZGE4ZTdlY2JmYjA1YWY1YmMzYTkxZTdiNTlhZGI3YmE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ODAxOTFhZjRlNGY0ZTRhMjBhODczNDA3MTExMDdmYTBjZGEyOWFkN2I3YmNh
|
14
|
+
MTYxNjE2ZTkwZGRlMGM2YjNmMTYxYmNjZTgyYjdmODI1N2NiYjI0MmE3MjNj
|
15
|
+
NzdlMGYwYzEyNjI4Mjc5MzJkNmNjNjUzZWQ3YmM1ZmZiMDdmM2M=
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
@@ -17,10 +17,13 @@ Jeweler::Tasks.new do |gem|
|
|
17
17
|
gem.name = "unicorn-cuba-base"
|
18
18
|
gem.homepage = "http://github.com/jpastuszek/unicorn-cuba-base"
|
19
19
|
gem.license = "MIT"
|
20
|
-
gem.summary = "
|
21
|
-
gem.description = "
|
20
|
+
gem.summary = "Web appliaction base powered by Unicorn and Cuba"
|
21
|
+
gem.description = "Web application base powered by Unicorn HTTP server and based on Cuba framework extended with additional Rack middleware and Cuba plugins"
|
22
22
|
gem.email = "jpastuszek@gmail.com"
|
23
23
|
gem.authors = ["Jakub Pastuszek"]
|
24
|
+
gem.files.exclude "spec/**/*"
|
25
|
+
gem.files.exclude "*.gemspec"
|
26
|
+
gem.files.exclude ".rspec"
|
24
27
|
# dependencies defined in Gemfile
|
25
28
|
end
|
26
29
|
Jeweler::RubygemsDotOrgTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.6.0
|
data/lib/unicorn-cuba-base.rb
CHANGED
@@ -63,6 +63,7 @@ class Application
|
|
63
63
|
root_logger.level = RootLogger::WARN
|
64
64
|
root_logger.level = RootLogger::INFO if @settings.verbose
|
65
65
|
root_logger.level = RootLogger::DEBUG if @settings.debug
|
66
|
+
root_logger.enable_perf_logging if @settings.perf_stats
|
66
67
|
Controller.logger = root_logger
|
67
68
|
MemoryLimit.logger = Controller.logger_for(MemoryLimit)
|
68
69
|
|
@@ -175,6 +176,9 @@ class Application
|
|
175
176
|
switch :debug,
|
176
177
|
short: :d,
|
177
178
|
description: 'enable verbose and debug logging (DEBUG)'
|
179
|
+
switch :perf_stats,
|
180
|
+
short: :V,
|
181
|
+
description: 'enable logging of performance statistics on ANY level'
|
178
182
|
end
|
179
183
|
end
|
180
184
|
|
@@ -1,18 +1,37 @@
|
|
1
1
|
require 'benchmark'
|
2
2
|
|
3
3
|
$perf_stats_nest_level = -1
|
4
|
+
$perf_stats_tasks = []
|
4
5
|
|
5
6
|
module PerfStats
|
6
|
-
def measure(
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
def measure(task, object = nil)
|
8
|
+
if log.perf?
|
9
|
+
begin
|
10
|
+
$perf_stats_nest_level += 1
|
11
|
+
$perf_stats_tasks << task
|
12
|
+
task = $perf_stats_tasks.join(' -> ')
|
13
|
+
ret = nil
|
14
|
+
took = Benchmark.measure do
|
15
|
+
ret = yield
|
16
|
+
end
|
17
|
+
log.with_meta(
|
18
|
+
type: 'perf-stats',
|
19
|
+
user_time: took.utime.round(6),
|
20
|
+
system_time:took.stime.round(6),
|
21
|
+
total_time: took.total.round(6),
|
22
|
+
real_time: took.real.round(6),
|
23
|
+
task: task,
|
24
|
+
object: object,
|
25
|
+
level: $perf_stats_nest_level
|
26
|
+
).perf "took #{"%0.6f" % took.real} sec - #{task}#{object ? ": #{object}" : ''}"
|
27
|
+
ret
|
28
|
+
ensure
|
29
|
+
$perf_stats_nest_level -= 1
|
30
|
+
$perf_stats_tasks.pop
|
31
|
+
end
|
32
|
+
else
|
33
|
+
yield
|
11
34
|
end
|
12
|
-
log.info "[PERF] #{took.to_s.chomp} -#{'+' * $perf_stats_nest_level} #{name}"
|
13
|
-
ret
|
14
|
-
ensure
|
15
|
-
$perf_stats_nest_level -= 1
|
16
35
|
end
|
17
36
|
end
|
18
37
|
|
@@ -73,6 +73,8 @@ class RootLogger < Logger
|
|
73
73
|
def initialize(logdev = STDERR, &formatter)
|
74
74
|
super(logdev)
|
75
75
|
|
76
|
+
@perf_enabled = false
|
77
|
+
|
76
78
|
@ext_formatter = proc do |severity, datetime, progname, meta, msg|
|
77
79
|
if formatter
|
78
80
|
formatter.call(severity, datetime, progname, meta, msg)
|
@@ -89,6 +91,19 @@ class RootLogger < Logger
|
|
89
91
|
end
|
90
92
|
end
|
91
93
|
|
94
|
+
def enable_perf_logging
|
95
|
+
@perf_enabled = true
|
96
|
+
self
|
97
|
+
end
|
98
|
+
|
99
|
+
def perf?
|
100
|
+
@perf_enabled
|
101
|
+
end
|
102
|
+
|
103
|
+
def perf(msg)
|
104
|
+
unknown(msg) if @perf_enabled
|
105
|
+
end
|
106
|
+
|
92
107
|
def logger_for(class_obj)
|
93
108
|
ClassLogger.new(self, class_obj)
|
94
109
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unicorn-cuba-base
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jakub Pastuszek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cuba
|
@@ -28,16 +28,22 @@ dependencies:
|
|
28
28
|
name: unicorn
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ! '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 4.6.2
|
34
|
+
- - ~>
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '4.6'
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
|
-
- -
|
41
|
+
- - ! '>='
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: 4.6.2
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '4.6'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: raindrops
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -162,7 +168,7 @@ dependencies:
|
|
162
168
|
- - ~>
|
163
169
|
- !ruby/object:Gem::Version
|
164
170
|
version: '1.0'
|
165
|
-
description:
|
171
|
+
description: Web application base powered by Unicorn HTTP server and based on Cuba
|
166
172
|
framework extended with additional Rack middleware and Cuba plugins
|
167
173
|
email: jpastuszek@gmail.com
|
168
174
|
executables: []
|
@@ -172,7 +178,6 @@ extra_rdoc_files:
|
|
172
178
|
- README.md
|
173
179
|
files:
|
174
180
|
- .document
|
175
|
-
- .rspec
|
176
181
|
- Gemfile
|
177
182
|
- Gemfile.lock
|
178
183
|
- LICENSE.txt
|
@@ -196,10 +201,6 @@ files:
|
|
196
201
|
- lib/unicorn-cuba-base/stats.rb
|
197
202
|
- lib/unicorn-cuba-base/stats_reporter.rb
|
198
203
|
- lib/unicorn-cuba-base/uri_ext.rb
|
199
|
-
- spec/memory_limit_spec.rb
|
200
|
-
- spec/root_logger_spec.rb
|
201
|
-
- spec/spec_helper.rb
|
202
|
-
- unicorn-cuba-base.gemspec
|
203
204
|
homepage: http://github.com/jpastuszek/unicorn-cuba-base
|
204
205
|
licenses:
|
205
206
|
- MIT
|
@@ -220,8 +221,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
220
221
|
version: '0'
|
221
222
|
requirements: []
|
222
223
|
rubyforge_project:
|
223
|
-
rubygems_version: 2.
|
224
|
+
rubygems_version: 2.4.7
|
224
225
|
signing_key:
|
225
226
|
specification_version: 4
|
226
|
-
summary:
|
227
|
+
summary: Web appliaction base powered by Unicorn and Cuba
|
227
228
|
test_files: []
|
data/.rspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--color
|
data/spec/memory_limit_spec.rb
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
require_relative 'spec_helper'
|
2
|
-
require 'unicorn-cuba-base/memory_limit'
|
3
|
-
MemoryLimit.logger = Logger.new('/dev/null')
|
4
|
-
|
5
|
-
describe MemoryLimit do
|
6
|
-
subject do
|
7
|
-
MemoryLimit.new(10)
|
8
|
-
end
|
9
|
-
|
10
|
-
it 'should raise MemoryLimitedExceededError when too much memory is borrowed' do
|
11
|
-
subject.borrow 8
|
12
|
-
subject.return 3
|
13
|
-
subject.borrow 4
|
14
|
-
subject.borrow 1
|
15
|
-
expect {
|
16
|
-
subject.borrow 1
|
17
|
-
}.to raise_error MemoryLimit::MemoryLimitedExceededError, 'memory limit exceeded'
|
18
|
-
end
|
19
|
-
|
20
|
-
describe '#get' do
|
21
|
-
it 'should yield limit left and borrow as much as returned string bytesize' do
|
22
|
-
subject.get do |limit|
|
23
|
-
limit.should == 10
|
24
|
-
'123'
|
25
|
-
end.should == '123'
|
26
|
-
subject.limit.should == 7
|
27
|
-
end
|
28
|
-
|
29
|
-
it 'should raise MemoryLimit::MemoryLimitedExceededError if retruned string is longer than the limit' do
|
30
|
-
expect {
|
31
|
-
subject.get do |limit|
|
32
|
-
'12345678901'
|
33
|
-
end
|
34
|
-
}.to raise_error MemoryLimit::MemoryLimitedExceededError
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
describe MemoryLimit::IO do
|
39
|
-
it 'should limit reading from extended IO like object' do
|
40
|
-
test_file = Pathname.new('/tmp/memlimtest')
|
41
|
-
test_file.open('w+') { |io|
|
42
|
-
io.write '12345'
|
43
|
-
io.seek 0
|
44
|
-
|
45
|
-
subject.io io
|
46
|
-
io.read.should == '12345'
|
47
|
-
|
48
|
-
io.seek 0
|
49
|
-
io.truncate 0
|
50
|
-
io.write '678'
|
51
|
-
io.seek 0
|
52
|
-
io.read.should == '678'
|
53
|
-
|
54
|
-
io.seek 0
|
55
|
-
io.write '09123'
|
56
|
-
io.seek 0
|
57
|
-
|
58
|
-
expect {
|
59
|
-
io.read
|
60
|
-
}.to raise_error MemoryLimit::MemoryLimitedExceededError, 'memory limit exceeded'
|
61
|
-
}
|
62
|
-
test_file.unlink
|
63
|
-
end
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
data/spec/root_logger_spec.rb
DELETED
@@ -1,152 +0,0 @@
|
|
1
|
-
require_relative 'spec_helper'
|
2
|
-
|
3
|
-
require 'unicorn-cuba-base/root_logger'
|
4
|
-
require 'stringio'
|
5
|
-
|
6
|
-
describe RootLogger do
|
7
|
-
let! :log_out do
|
8
|
-
StringIO.new
|
9
|
-
end
|
10
|
-
|
11
|
-
subject do
|
12
|
-
RootLogger.new(log_out)
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'should log to given logger' do
|
16
|
-
subject.info 'hello world'
|
17
|
-
log_out.string.should include 'INFO'
|
18
|
-
log_out.string.should include 'hello world'
|
19
|
-
end
|
20
|
-
|
21
|
-
describe 'support for different logging levels' do
|
22
|
-
it 'should log info' do
|
23
|
-
subject.info 'hello world'
|
24
|
-
log_out.string.should include 'INFO'
|
25
|
-
end
|
26
|
-
|
27
|
-
it 'should log warn' do
|
28
|
-
subject.warn 'hello world'
|
29
|
-
log_out.string.should include 'WARN'
|
30
|
-
end
|
31
|
-
|
32
|
-
it 'should log error' do
|
33
|
-
subject.error 'hello world'
|
34
|
-
log_out.string.should include 'ERROR'
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
describe 'class logger' do
|
39
|
-
it 'should report class name' do
|
40
|
-
TestApp = Class.new
|
41
|
-
subject.logger_for(TestApp).info 'hello world'
|
42
|
-
log_out.string.should include 'TestApp'
|
43
|
-
|
44
|
-
subject.logger_for(String).info 'hello world'
|
45
|
-
log_out.string.should include 'String'
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
it 'should log exceptions' do
|
50
|
-
begin
|
51
|
-
raise RuntimeError, 'bad luck'
|
52
|
-
rescue => error
|
53
|
-
subject.logger_for(String).error 'hello world', error
|
54
|
-
end
|
55
|
-
log_out.string.should include 'hello world: RuntimeError: bad luck'
|
56
|
-
end
|
57
|
-
|
58
|
-
describe 'meta data' do
|
59
|
-
it 'should log with metadata in RFC5424 format' do
|
60
|
-
subject.with_meta(type: 'access-log').info 'GET /asdfas'
|
61
|
-
log_out.string.should include '"type":"access-log"'
|
62
|
-
|
63
|
-
subject.info 'GET /asdfas'
|
64
|
-
log_out.string.lines.to_a.last.should_not include '"type":"access-log"'
|
65
|
-
end
|
66
|
-
|
67
|
-
it 'should work with chaining' do
|
68
|
-
subject.with_meta(type: 'access-log').with_meta(blah: 'xxx').info 'GET /asdfas'
|
69
|
-
log_out.string.should include '"type":"access-log","blah":"xxx"'
|
70
|
-
end
|
71
|
-
|
72
|
-
it 'should log with metadata context' do
|
73
|
-
subject.with_meta_context(type: 'app-log') do
|
74
|
-
subject.info 'GET /asdfas'
|
75
|
-
end
|
76
|
-
log_out.string.should include '"type":"app-log"'
|
77
|
-
|
78
|
-
subject.info 'GET /asdfas'
|
79
|
-
log_out.string.lines.to_a.last.should_not include '"type":"app-log"'
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
require 'capture-output'
|
85
|
-
|
86
|
-
describe SyslogLogDev do
|
87
|
-
subject do
|
88
|
-
SyslogLogDev.new('unicorn-cuba-base-test', 'daemon', true)
|
89
|
-
end
|
90
|
-
|
91
|
-
after :each do
|
92
|
-
subject.close
|
93
|
-
end
|
94
|
-
|
95
|
-
it 'should write messages to syslog expecting first word to be log level' do
|
96
|
-
Capture.stderr{subject.write 'INFO hello world'}.should include '<Info>'
|
97
|
-
Capture.stderr{subject.write 'WARN hello world'}.should include '<Warning>'
|
98
|
-
Capture.stderr{subject.write 'INFO hello world'}.should include 'hello world'
|
99
|
-
end
|
100
|
-
|
101
|
-
it 'should handle multiline log entries' do
|
102
|
-
Capture.stderr{subject.write "INFO hello\nworld"}.should include "<Info>: hello\n\tworld\n"
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
describe RootSyslogLogger do
|
107
|
-
subject do
|
108
|
-
@subject ||= RootSyslogLogger.new('unicorn-cuba-base-test', 'daemon', true).logger_for(RSpec)
|
109
|
-
end
|
110
|
-
|
111
|
-
after :each do
|
112
|
-
subject.close
|
113
|
-
end
|
114
|
-
|
115
|
-
it 'should log to syslog' do
|
116
|
-
log_out = Capture.stderr{subject.info 'hello world'}
|
117
|
-
|
118
|
-
log_out.should include 'unicorn-cuba-base-test'
|
119
|
-
log_out.should match /\[[0-9]+\]/
|
120
|
-
log_out.should include '<Info>:'
|
121
|
-
end
|
122
|
-
|
123
|
-
it 'should include message' do
|
124
|
-
Capture.stderr{subject.info 'hello world'}.should include 'hello world'
|
125
|
-
end
|
126
|
-
|
127
|
-
it 'should include class name' do
|
128
|
-
Capture.stderr{subject.info 'hello world'}.should include 'RSpec'
|
129
|
-
end
|
130
|
-
|
131
|
-
it 'should map log levels to syslog severities' do
|
132
|
-
Capture.stderr{subject.debug 'hello world'}.should include '<Debug>'
|
133
|
-
Capture.stderr{subject.info 'hello world'}.should include '<Info>'
|
134
|
-
Capture.stderr{subject.warn 'hello world'}.should include '<Warning>'
|
135
|
-
Capture.stderr{subject.error 'hello world'}.should include '<Error>'
|
136
|
-
Capture.stderr{subject.fatal 'hello world'}.should include '<Critical>'
|
137
|
-
end
|
138
|
-
|
139
|
-
it 'should handle multiline logs by appending tab after new line (done by syslog?)' do
|
140
|
-
Capture.stderr{subject.info "hello\nworld\ntest"}.should include "hello\n\tworld\n\ttest\n"
|
141
|
-
end
|
142
|
-
|
143
|
-
describe 'direct wirtes' do
|
144
|
-
it 'should use Info level' do
|
145
|
-
Capture.stderr{subject.write "hello world"}.should include '<Info>'
|
146
|
-
end
|
147
|
-
|
148
|
-
it 'should allow use of meta data' do
|
149
|
-
Capture.stderr{subject.with_meta('type' => 'access-log').write "hello world"}.should include '"type":"access-log"'
|
150
|
-
end
|
151
|
-
end
|
152
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
2
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
3
|
-
require 'rspec'
|
4
|
-
require 'unicorn-cuba-base'
|
5
|
-
|
6
|
-
# Requires supporting files with custom matchers and macros, etc,
|
7
|
-
# in ./support/ and its subdirectories.
|
8
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
9
|
-
|
10
|
-
RSpec.configure do |config|
|
11
|
-
|
12
|
-
end
|
data/unicorn-cuba-base.gemspec
DELETED
@@ -1,96 +0,0 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
-
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: unicorn-cuba-base 1.5.0 ruby lib
|
6
|
-
|
7
|
-
Gem::Specification.new do |s|
|
8
|
-
s.name = "unicorn-cuba-base"
|
9
|
-
s.version = "1.5.0"
|
10
|
-
|
11
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
-
s.require_paths = ["lib"]
|
13
|
-
s.authors = ["Jakub Pastuszek"]
|
14
|
-
s.date = "2015-05-13"
|
15
|
-
s.description = "web application base powered by Unicorn HTTP server and based on Cuba framework extended with additional Rack middleware and Cuba plugins"
|
16
|
-
s.email = "jpastuszek@gmail.com"
|
17
|
-
s.extra_rdoc_files = [
|
18
|
-
"LICENSE.txt",
|
19
|
-
"README.md"
|
20
|
-
]
|
21
|
-
s.files = [
|
22
|
-
".document",
|
23
|
-
".rspec",
|
24
|
-
"Gemfile",
|
25
|
-
"Gemfile.lock",
|
26
|
-
"LICENSE.txt",
|
27
|
-
"README.md",
|
28
|
-
"Rakefile",
|
29
|
-
"VERSION",
|
30
|
-
"lib/unicorn-cuba-base.rb",
|
31
|
-
"lib/unicorn-cuba-base/default_error_reporter.rb",
|
32
|
-
"lib/unicorn-cuba-base/memory_limit.rb",
|
33
|
-
"lib/unicorn-cuba-base/perf_stats.rb",
|
34
|
-
"lib/unicorn-cuba-base/plugin/error_matcher.rb",
|
35
|
-
"lib/unicorn-cuba-base/plugin/logging.rb",
|
36
|
-
"lib/unicorn-cuba-base/plugin/memory_limit.rb",
|
37
|
-
"lib/unicorn-cuba-base/plugin/response_helpers.rb",
|
38
|
-
"lib/unicorn-cuba-base/rack/common_logger_xid.rb",
|
39
|
-
"lib/unicorn-cuba-base/rack/error_handling.rb",
|
40
|
-
"lib/unicorn-cuba-base/rack/memory_limit.rb",
|
41
|
-
"lib/unicorn-cuba-base/rack/unhandled_request.rb",
|
42
|
-
"lib/unicorn-cuba-base/rack/xid_logging.rb",
|
43
|
-
"lib/unicorn-cuba-base/root_logger.rb",
|
44
|
-
"lib/unicorn-cuba-base/stats.rb",
|
45
|
-
"lib/unicorn-cuba-base/stats_reporter.rb",
|
46
|
-
"lib/unicorn-cuba-base/uri_ext.rb",
|
47
|
-
"spec/memory_limit_spec.rb",
|
48
|
-
"spec/root_logger_spec.rb",
|
49
|
-
"spec/spec_helper.rb",
|
50
|
-
"unicorn-cuba-base.gemspec"
|
51
|
-
]
|
52
|
-
s.homepage = "http://github.com/jpastuszek/unicorn-cuba-base"
|
53
|
-
s.licenses = ["MIT"]
|
54
|
-
s.rubygems_version = "2.2.2"
|
55
|
-
s.summary = "web appliaction base powered by Unicorn and Cuba"
|
56
|
-
|
57
|
-
if s.respond_to? :specification_version then
|
58
|
-
s.specification_version = 4
|
59
|
-
|
60
|
-
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
61
|
-
s.add_runtime_dependency(%q<cuba>, ["~> 3.0"])
|
62
|
-
s.add_runtime_dependency(%q<unicorn>, ["~> 4.6.2"])
|
63
|
-
s.add_runtime_dependency(%q<raindrops>, ["~> 0.11"])
|
64
|
-
s.add_runtime_dependency(%q<cli>, ["~> 1.3"])
|
65
|
-
s.add_runtime_dependency(%q<facter>, [">= 1.6.18", "~> 1.6"])
|
66
|
-
s.add_runtime_dependency(%q<ruby-ip>, ["~> 0.9"])
|
67
|
-
s.add_development_dependency(%q<rspec>, ["~> 2.13"])
|
68
|
-
s.add_development_dependency(%q<rdoc>, ["~> 3.9"])
|
69
|
-
s.add_development_dependency(%q<jeweler>, [">= 1.8.8", "~> 1.8"])
|
70
|
-
s.add_development_dependency(%q<capture-output>, ["~> 1.0"])
|
71
|
-
else
|
72
|
-
s.add_dependency(%q<cuba>, ["~> 3.0"])
|
73
|
-
s.add_dependency(%q<unicorn>, ["~> 4.6.2"])
|
74
|
-
s.add_dependency(%q<raindrops>, ["~> 0.11"])
|
75
|
-
s.add_dependency(%q<cli>, ["~> 1.3"])
|
76
|
-
s.add_dependency(%q<facter>, [">= 1.6.18", "~> 1.6"])
|
77
|
-
s.add_dependency(%q<ruby-ip>, ["~> 0.9"])
|
78
|
-
s.add_dependency(%q<rspec>, ["~> 2.13"])
|
79
|
-
s.add_dependency(%q<rdoc>, ["~> 3.9"])
|
80
|
-
s.add_dependency(%q<jeweler>, [">= 1.8.8", "~> 1.8"])
|
81
|
-
s.add_dependency(%q<capture-output>, ["~> 1.0"])
|
82
|
-
end
|
83
|
-
else
|
84
|
-
s.add_dependency(%q<cuba>, ["~> 3.0"])
|
85
|
-
s.add_dependency(%q<unicorn>, ["~> 4.6.2"])
|
86
|
-
s.add_dependency(%q<raindrops>, ["~> 0.11"])
|
87
|
-
s.add_dependency(%q<cli>, ["~> 1.3"])
|
88
|
-
s.add_dependency(%q<facter>, [">= 1.6.18", "~> 1.6"])
|
89
|
-
s.add_dependency(%q<ruby-ip>, ["~> 0.9"])
|
90
|
-
s.add_dependency(%q<rspec>, ["~> 2.13"])
|
91
|
-
s.add_dependency(%q<rdoc>, ["~> 3.9"])
|
92
|
-
s.add_dependency(%q<jeweler>, [">= 1.8.8", "~> 1.8"])
|
93
|
-
s.add_dependency(%q<capture-output>, ["~> 1.0"])
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|