runit-man 2.3.9 → 2.3.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,24 +1,26 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- runit-man (2.3.9)
5
- file-tail (>= 1.0.5)
6
- haml (>= 3.0)
7
- i18n (>= 0.5.0)
8
- sinatra (>= 1.1)
9
- sinatra-content-for2 (>= 0.2.4)
10
- yajl-ruby (>= 0.7.8)
4
+ runit-man (2.3.11)
5
+ file-tail (~> 1.0.7)
6
+ haml (~> 3.0)
7
+ i18n (~> 0.5)
8
+ sinatra (~> 1.3)
9
+ sinatra-content-for2 (~> 0.2.4)
10
+ yajl-ruby (~> 1.0)
11
11
 
12
12
  GEM
13
13
  remote: http://rubygems.org/
14
14
  specs:
15
15
  diff-lcs (1.1.3)
16
- file-tail (1.0.6)
17
- spruz (~> 0.2)
18
- haml (3.1.2)
16
+ file-tail (1.0.7)
17
+ tins (~> 0.3)
18
+ haml (3.1.3)
19
19
  i18n (0.6.0)
20
20
  kgio (2.6.0)
21
21
  rack (1.3.2)
22
+ rack-protection (1.1.4)
23
+ rack
22
24
  rack-test (0.6.1)
23
25
  rack (>= 1.0)
24
26
  rainbows (4.3.1)
@@ -32,24 +34,25 @@ GEM
32
34
  rspec-expectations (2.6.0)
33
35
  diff-lcs (~> 1.1.2)
34
36
  sendfile (1.1.0)
35
- sinatra (1.2.6)
36
- rack (~> 1.1)
37
- tilt (>= 1.2.2, < 2.0)
37
+ sinatra (1.3.0)
38
+ rack (~> 1.3)
39
+ rack-protection (~> 1.1)
40
+ tilt (~> 1.3)
38
41
  sinatra-content-for2 (0.2.4)
39
42
  sinatra
40
- spruz (0.2.13)
41
43
  tilt (1.3.3)
44
+ tins (0.3.2)
42
45
  unicorn (4.1.1)
43
46
  kgio (~> 2.4)
44
47
  rack
45
48
  raindrops (~> 0.6)
46
- yajl-ruby (0.8.3)
49
+ yajl-ruby (1.0.0)
47
50
 
48
51
  PLATFORMS
49
52
  ruby
50
53
 
51
54
  DEPENDENCIES
52
- bundler (>= 1.0.10)
55
+ bundler (~> 1.0.10)
53
56
  rack (>= 1.3.0)
54
57
  rack-test
55
58
  rainbows
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010 Akzhan Abdulin
1
+ Copyright (c) 2010-2011 Akzhan Abdulin and contributors
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -14,39 +14,7 @@ if RUBY_VERSION >= '1.9'
14
14
  Encoding.default_internal = "utf-8"
15
15
  end
16
16
 
17
- RunitManVersion.sendfile = (Sinatra::VERSION >= '1.3.0')
18
-
19
- if Sinatra::VERSION < '1.3.0' && Rack.release >= '1.3'
20
- # Monkey patch old Sinatra to use Rack::File to serve files.
21
- RunitManVersion.sendfile = true
22
-
23
- Sinatra::Helpers.class_eval do
24
- # Got from Sinatra 1.3.0 sources
25
- def send_file(path, opts={})
26
- if opts[:type] or not response['Content-Type']
27
- content_type opts[:type] || File.extname(path), :default => 'application/octet-stream'
28
- end
29
-
30
- if opts[:disposition] == 'attachment' || opts[:filename]
31
- attachment opts[:filename] || path
32
- elsif opts[:disposition] == 'inline'
33
- response['Content-Disposition'] = 'inline'
34
- end
35
-
36
- last_modified opts[:last_modified] if opts[:last_modified]
37
-
38
- file = Rack::File.new nil
39
- file.path = path
40
- result = file.serving env
41
- result[1].each { |k,v| headers[k] ||= v }
42
- halt result[0], result[2]
43
- rescue Errno::ENOENT
44
- not_found
45
- end
46
- end
47
- end
48
-
49
- RunitManVersion.sendfile &&= !!File.instance_methods.detect { |m| "#{m}" == 'trysendfile' }
17
+ RunitManVersion.sendfile = !!File.instance_methods.detect { |m| "#{m}" == 'trysendfile' }
50
18
 
51
19
  class RunitMan < Sinatra::Base
52
20
  VERSION = RunitManVersion::VERSION
@@ -1,10 +1,11 @@
1
1
  require 'monitor'
2
2
 
3
- class LogLocationCache
3
+ module LogLocationCache; end
4
+
5
+ class LogLocationCache::Base
4
6
  TIME_LIMIT = 600
5
7
 
6
- def initialize(logger)
7
- @logger = logger
8
+ def initialize
8
9
  @monitor = Monitor.new
9
10
  clear
10
11
  end
@@ -21,12 +22,19 @@ class LogLocationCache
21
22
  pids[pid][:value]
22
23
  end
23
24
 
24
- private
25
+ protected
25
26
  attr_accessor :query_counter
26
27
  attr_accessor :pids
27
- attr_reader :logger
28
28
  attr_reader :monitor
29
29
 
30
+ def not_implemented
31
+ raise NotImplementedError.new
32
+ end
33
+
34
+ def get_pid_location(lpid)
35
+ not_implemented
36
+ end
37
+
30
38
  def clear
31
39
  monitor.synchronize do
32
40
  self.query_counter = 0
@@ -52,15 +60,6 @@ private
52
60
  self
53
61
  end
54
62
 
55
- def get_pid_location(lpid)
56
- folder = log_folder(lpid)
57
- return nil if folder.nil?
58
- return File.join(folder, 'current') if logger == RunitMan::DEFAULT_LOGGER
59
- loc = File.join(folder, Time.now.strftime('%Y-%m-%d'), "#{log_folder_base_name(lpid)}.log")
60
- loc = "#{loc}.gz" unless File.exists?(loc)
61
- loc
62
- end
63
-
64
63
  def log_command(lpid)
65
64
  return nil if lpid.nil?
66
65
  ps_output = `ps -o args -p #{lpid} 2>&1`.split("\n")
@@ -70,11 +69,7 @@ private
70
69
  end
71
70
 
72
71
  def logger_name
73
- (logger =~ /^([^\:]+)\:/) ? $1 : logger
74
- end
75
-
76
- def log_base_folder
77
- (logger =~ /^[^\:]+\:([^\:]+)/) ? $1 : nil
72
+ not_implemented
78
73
  end
79
74
 
80
75
  def log_command_args(lpid)
@@ -89,32 +84,15 @@ private
89
84
  args = log_command_args(lpid)
90
85
  return nil if args.nil?
91
86
  result = args.first
92
- # we should remove : from the end of the line for logger installations.
93
- result = $1 if result =~ /^(.+)\:$/
94
87
  result
95
88
  end
96
89
 
97
90
  def log_folder(lpid)
98
- folder = log_folder_base_name(lpid)
99
- (log_base_folder.nil? || folder.nil?) ? folder : File.join(log_base_folder, folder)
100
- end
101
-
102
- def log_priority(lpid)
103
- args = log_command_args(lpid)
104
- args.nil? ? logger_priority : args.last
91
+ not_implemented
105
92
  end
106
93
 
107
94
  def set_pid_log_location(pid, log_location)
108
- remove_old_values
109
- if log_location =~ /current$/
110
- monitor.synchronize do
111
- pids[pid.to_i] = {
112
- :value => log_location,
113
- :time => Time.now
114
- }
115
- end
116
- end
117
- self
95
+ not_implemented
118
96
  end
119
97
  end
120
98
 
@@ -0,0 +1,51 @@
1
+ require 'monitor'
2
+
3
+ class LogLocationCache::Logger < LogLocationCache::Base
4
+ def initialize(logger)
5
+ @logger = logger
6
+ end
7
+
8
+ protected
9
+ attr_reader :logger
10
+
11
+ def get_pid_location(lpid)
12
+ folder = log_folder(lpid)
13
+ return nil if folder.nil?
14
+ loc = File.join(folder, Time.now.strftime('%Y-%m-%d'), "#{log_folder_base_name(lpid)}.log")
15
+ unless File.exists?(loc)
16
+ loc = "#{loc}.gz"
17
+ loc = nil unless File.exists?(loc)
18
+ end
19
+ loc
20
+ end
21
+
22
+ def logger_name
23
+ (logger =~ /^([^\:]+)\:/) ? $1 : logger
24
+ end
25
+
26
+ def log_base_folder
27
+ (logger =~ /^[^\:]+\:([^\:]+)/) ? $1 : nil
28
+ end
29
+
30
+ def log_folder(lpid)
31
+ folder = log_folder_base_name(lpid)
32
+ (log_base_folder.nil? || folder.nil?) ? folder : File.join(log_base_folder, folder)
33
+ end
34
+
35
+ def log_priority(lpid)
36
+ args = log_command_args(lpid)
37
+ args.nil? ? logger_priority : args.last
38
+ end
39
+
40
+ def set_pid_log_location(pid, log_location)
41
+ remove_old_values
42
+ end
43
+
44
+ def log_folder_base_name(lpid)
45
+ result = super(lpid)
46
+ # we should remove : from the end of the line for logger installations.
47
+ result = $1 if result =~ /^(.+)\:$/
48
+ result
49
+ end
50
+ end
51
+
@@ -0,0 +1,31 @@
1
+ require 'monitor'
2
+
3
+ class LogLocationCache::Svlogd < LogLocationCache::Base
4
+
5
+ protected
6
+ def get_pid_location(lpid)
7
+ folder = log_folder(lpid)
8
+ return nil if folder.nil?
9
+ File.join(folder, 'current')
10
+ end
11
+
12
+ def logger_name
13
+ 'svlogd'
14
+ end
15
+
16
+ def log_folder(lpid)
17
+ log_folder_base_name(lpid)
18
+ end
19
+
20
+ def set_pid_log_location(pid, log_location)
21
+ remove_old_values
22
+ monitor.synchronize do
23
+ pids[pid.to_i] = {
24
+ :value => log_location,
25
+ :time => Time.now
26
+ }
27
+ end
28
+ self
29
+ end
30
+ end
31
+
@@ -1,4 +1,6 @@
1
- require 'runit-man/log_location_cache'
1
+ require 'runit-man/log_location_cache/base'
2
+ require 'runit-man/log_location_cache/svlogd'
3
+ require 'runit-man/log_location_cache/logger'
2
4
  require 'runit-man/service_status'
3
5
  require 'runit-man/utils'
4
6
 
@@ -286,7 +288,11 @@ private
286
288
  end
287
289
 
288
290
  def log_location_cache
289
- @log_location_cache ||= LogLocationCache.new(RunitMan.runit_logger)
291
+ @log_location_cache ||= case RunitMan.runit_logger
292
+ when RunitMan::DEFAULT_LOGGER; LogLocationCache::Svlogd.new
293
+ when /^logger\b/; LogLocationCache::Logger.new(RunitMan.runit_logger)
294
+ else raise NotImplementedError.new
295
+ end
290
296
  end
291
297
 
292
298
  def real_data_from_file(file_name)
@@ -1,5 +1,5 @@
1
1
  module RunitManVersion
2
- VERSION = '2.3.9'.freeze
2
+ VERSION = '2.3.11'.freeze
3
3
 
4
4
  class << self
5
5
  attr_accessor :sendfile
@@ -18,18 +18,18 @@ spec = Gem::Specification.new do |s|
18
18
  ]
19
19
  s.files = `git ls-files`.split("\n")
20
20
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
- s.add_dependency 'yajl-ruby', '>= 0.7.8'
22
- s.add_dependency 'haml', '>= 3.0'
23
- s.add_dependency 'sinatra', '>= 1.1'
24
- s.add_dependency 'sinatra-content-for2', '>= 0.2.4'
25
- s.add_dependency 'i18n', '>= 0.5.0'
26
- s.add_dependency 'file-tail', '>= 1.0.5'
21
+ s.add_dependency 'yajl-ruby', '~> 1.0'
22
+ s.add_dependency 'haml', '~> 3.0'
23
+ s.add_dependency 'sinatra', '~> 1.3'
24
+ s.add_dependency 'sinatra-content-for2', '~> 0.2.4'
25
+ s.add_dependency 'i18n', '~> 0.5'
26
+ s.add_dependency 'file-tail', '~> 1.0.7'
27
27
  s.add_development_dependency 'rake', '!= 0.9.0'
28
28
  s.add_development_dependency 'rspec-core'
29
29
  s.add_development_dependency 'rspec-expectations'
30
30
  s.add_development_dependency 'rr'
31
31
  s.add_development_dependency 'rack-test'
32
- s.add_development_dependency 'bundler', '>= 1.0.10'
32
+ s.add_development_dependency 'bundler', '~> 1.0.10'
33
33
  s.description = File.open(File.join(File.dirname(__FILE__), 'DESCRIPTION')).read
34
34
  end
35
35
 
metadata CHANGED
@@ -1,220 +1,165 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: runit-man
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.3.11
5
5
  prerelease:
6
- segments:
7
- - 2
8
- - 3
9
- - 9
10
- version: 2.3.9
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Akzhan Abdulin
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-09-05 00:00:00 +04:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2011-11-03 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: yajl-ruby
23
- prerelease: false
24
- version_requirements: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &2160178740 !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 19
30
- segments:
31
- - 0
32
- - 7
33
- - 8
34
- version: 0.7.8
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.0'
35
22
  type: :runtime
36
- requirement: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: haml
39
23
  prerelease: false
40
- version_requirements: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *2160178740
25
+ - !ruby/object:Gem::Dependency
26
+ name: haml
27
+ requirement: &2160197540 !ruby/object:Gem::Requirement
41
28
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 7
46
- segments:
47
- - 3
48
- - 0
49
- version: "3.0"
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
50
33
  type: :runtime
51
- requirement: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: sinatra
54
34
  prerelease: false
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *2160197540
36
+ - !ruby/object:Gem::Dependency
37
+ name: sinatra
38
+ requirement: &2160196860 !ruby/object:Gem::Requirement
56
39
  none: false
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- hash: 13
61
- segments:
62
- - 1
63
- - 1
64
- version: "1.1"
40
+ requirements:
41
+ - - ~>
42
+ - !ruby/object:Gem::Version
43
+ version: '1.3'
65
44
  type: :runtime
66
- requirement: *id003
67
- - !ruby/object:Gem::Dependency
68
- name: sinatra-content-for2
69
45
  prerelease: false
70
- version_requirements: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *2160196860
47
+ - !ruby/object:Gem::Dependency
48
+ name: sinatra-content-for2
49
+ requirement: &2160195880 !ruby/object:Gem::Requirement
71
50
  none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- hash: 31
76
- segments:
77
- - 0
78
- - 2
79
- - 4
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
80
54
  version: 0.2.4
81
55
  type: :runtime
82
- requirement: *id004
83
- - !ruby/object:Gem::Dependency
84
- name: i18n
85
56
  prerelease: false
86
- version_requirements: &id005 !ruby/object:Gem::Requirement
57
+ version_requirements: *2160195880
58
+ - !ruby/object:Gem::Dependency
59
+ name: i18n
60
+ requirement: &2160194640 !ruby/object:Gem::Requirement
87
61
  none: false
88
- requirements:
89
- - - ">="
90
- - !ruby/object:Gem::Version
91
- hash: 11
92
- segments:
93
- - 0
94
- - 5
95
- - 0
96
- version: 0.5.0
62
+ requirements:
63
+ - - ~>
64
+ - !ruby/object:Gem::Version
65
+ version: '0.5'
97
66
  type: :runtime
98
- requirement: *id005
99
- - !ruby/object:Gem::Dependency
100
- name: file-tail
101
67
  prerelease: false
102
- version_requirements: &id006 !ruby/object:Gem::Requirement
68
+ version_requirements: *2160194640
69
+ - !ruby/object:Gem::Dependency
70
+ name: file-tail
71
+ requirement: &2160193240 !ruby/object:Gem::Requirement
103
72
  none: false
104
- requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- hash: 29
108
- segments:
109
- - 1
110
- - 0
111
- - 5
112
- version: 1.0.5
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 1.0.7
113
77
  type: :runtime
114
- requirement: *id006
115
- - !ruby/object:Gem::Dependency
116
- name: rake
117
78
  prerelease: false
118
- version_requirements: &id007 !ruby/object:Gem::Requirement
79
+ version_requirements: *2160193240
80
+ - !ruby/object:Gem::Dependency
81
+ name: rake
82
+ requirement: &2160210160 !ruby/object:Gem::Requirement
119
83
  none: false
120
- requirements:
121
- - - "!="
122
- - !ruby/object:Gem::Version
123
- hash: 59
124
- segments:
125
- - 0
126
- - 9
127
- - 0
84
+ requirements:
85
+ - - ! '!='
86
+ - !ruby/object:Gem::Version
128
87
  version: 0.9.0
129
88
  type: :development
130
- requirement: *id007
131
- - !ruby/object:Gem::Dependency
132
- name: rspec-core
133
89
  prerelease: false
134
- version_requirements: &id008 !ruby/object:Gem::Requirement
90
+ version_requirements: *2160210160
91
+ - !ruby/object:Gem::Dependency
92
+ name: rspec-core
93
+ requirement: &2160208960 !ruby/object:Gem::Requirement
135
94
  none: false
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- hash: 3
140
- segments:
141
- - 0
142
- version: "0"
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
143
99
  type: :development
144
- requirement: *id008
145
- - !ruby/object:Gem::Dependency
146
- name: rspec-expectations
147
100
  prerelease: false
148
- version_requirements: &id009 !ruby/object:Gem::Requirement
101
+ version_requirements: *2160208960
102
+ - !ruby/object:Gem::Dependency
103
+ name: rspec-expectations
104
+ requirement: &2160207680 !ruby/object:Gem::Requirement
149
105
  none: false
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- hash: 3
154
- segments:
155
- - 0
156
- version: "0"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
157
110
  type: :development
158
- requirement: *id009
159
- - !ruby/object:Gem::Dependency
160
- name: rr
161
111
  prerelease: false
162
- version_requirements: &id010 !ruby/object:Gem::Requirement
112
+ version_requirements: *2160207680
113
+ - !ruby/object:Gem::Dependency
114
+ name: rr
115
+ requirement: &2160206580 !ruby/object:Gem::Requirement
163
116
  none: false
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- hash: 3
168
- segments:
169
- - 0
170
- version: "0"
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
171
121
  type: :development
172
- requirement: *id010
173
- - !ruby/object:Gem::Dependency
174
- name: rack-test
175
122
  prerelease: false
176
- version_requirements: &id011 !ruby/object:Gem::Requirement
123
+ version_requirements: *2160206580
124
+ - !ruby/object:Gem::Dependency
125
+ name: rack-test
126
+ requirement: &2160205720 !ruby/object:Gem::Requirement
177
127
  none: false
178
- requirements:
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- hash: 3
182
- segments:
183
- - 0
184
- version: "0"
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
185
132
  type: :development
186
- requirement: *id011
187
- - !ruby/object:Gem::Dependency
188
- name: bundler
189
133
  prerelease: false
190
- version_requirements: &id012 !ruby/object:Gem::Requirement
134
+ version_requirements: *2160205720
135
+ - !ruby/object:Gem::Dependency
136
+ name: bundler
137
+ requirement: &2160204500 !ruby/object:Gem::Requirement
191
138
  none: false
192
- requirements:
193
- - - ">="
194
- - !ruby/object:Gem::Version
195
- hash: 3
196
- segments:
197
- - 1
198
- - 0
199
- - 10
139
+ requirements:
140
+ - - ~>
141
+ - !ruby/object:Gem::Version
200
142
  version: 1.0.10
201
143
  type: :development
202
- requirement: *id012
203
- description: |
204
- Simple runit (http://smarden.org/runit/) web management tool with i18n.
205
-
144
+ prerelease: false
145
+ version_requirements: *2160204500
146
+ description: ! 'Simple runit (http://smarden.org/runit/) web management tool with
147
+ i18n.
148
+
149
+
206
150
  Server will run by runit-man script.
207
-
151
+
152
+
208
153
  More information available at https://github.com/Undev/runit-man
209
154
 
155
+ '
210
156
  email: akzhan.abdulin@gmail.com
211
- executables:
157
+ executables:
212
158
  - runit-man
213
159
  extensions: []
214
-
215
- extra_rdoc_files:
160
+ extra_rdoc_files:
216
161
  - README.markdown
217
- files:
162
+ files:
218
163
  - .gitignore
219
164
  - CHANGELOG.markdown
220
165
  - DESCRIPTION
@@ -231,7 +176,9 @@ files:
231
176
  - lib/runit-man/app.rb
232
177
  - lib/runit-man/config.ru
233
178
  - lib/runit-man/helpers.rb
234
- - lib/runit-man/log_location_cache.rb
179
+ - lib/runit-man/log_location_cache/base.rb
180
+ - lib/runit-man/log_location_cache/logger.rb
181
+ - lib/runit-man/log_location_cache/svlogd.rb
235
182
  - lib/runit-man/partials.rb
236
183
  - lib/runit-man/rainbows.conf
237
184
  - lib/runit-man/runner.rb
@@ -265,40 +212,37 @@ files:
265
212
  - views/log.haml
266
213
  - views/log_downloads.haml
267
214
  - views/view_file.haml
268
- has_rdoc: true
269
215
  homepage: https://github.com/Undev/runit-man
270
216
  licenses: []
271
-
272
217
  post_install_message:
273
218
  rdoc_options: []
274
-
275
- require_paths:
219
+ require_paths:
276
220
  - lib
277
- required_ruby_version: !ruby/object:Gem::Requirement
221
+ required_ruby_version: !ruby/object:Gem::Requirement
278
222
  none: false
279
- requirements:
280
- - - ">="
281
- - !ruby/object:Gem::Version
282
- hash: 3
283
- segments:
223
+ requirements:
224
+ - - ! '>='
225
+ - !ruby/object:Gem::Version
226
+ version: '0'
227
+ segments:
284
228
  - 0
285
- version: "0"
286
- required_rubygems_version: !ruby/object:Gem::Requirement
229
+ hash: 4317472699217292697
230
+ required_rubygems_version: !ruby/object:Gem::Requirement
287
231
  none: false
288
- requirements:
289
- - - ">="
290
- - !ruby/object:Gem::Version
291
- hash: 3
292
- segments:
232
+ requirements:
233
+ - - ! '>='
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
236
+ segments:
293
237
  - 0
294
- version: "0"
295
- requirements:
238
+ hash: 4317472699217292697
239
+ requirements:
296
240
  - none
297
241
  rubyforge_project:
298
- rubygems_version: 1.6.2
242
+ rubygems_version: 1.8.10
299
243
  signing_key:
300
244
  specification_version: 3
301
245
  summary: Runit web management tool.
302
- test_files:
246
+ test_files:
303
247
  - spec/functional/runit-man_spec.rb
304
248
  - spec/spec_helper.rb