server 0.0.5.1 → 0.0.7.4
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 +4 -4
- data/Gemfile +12 -12
- data/Gemfile.lock +13 -22
- data/Rakefile +60 -2
- data/VERSION +1 -0
- data/apple_logger_test.rb +379 -0
- data/helpers/gemfile.rb +12 -0
- data/helpers/gemspec.rb +20 -0
- data/helpers/git.rb +58 -0
- data/helpers/rubygem.rb +45 -0
- data/helpers/templates/gemspec.mustache +115 -0
- data/helpers/templates/gemspec.rb +10 -0
- data/helpers/version.rb +78 -0
- data/server.gemspec +115 -0
- metadata +43 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5ebdf2d11778a789dae90f951fb4a0709d34ca2
|
4
|
+
data.tar.gz: 0b4e685b9032d96834866abf9bef0073ecde8ad6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2db2d3e32cba26d51748457e11164f9fd02fb52b1f056082d4454bb5b33bdfe31e09457986f8ae55607ec330c1d45afeec416b2ba6086cddd6b8098169454815
|
7
|
+
data.tar.gz: 59e3b13d56227ad94987ea4e6c875cbe4215625b7bb24ba67940282fa12cb0dac751e62fc5c8cd25e18d76c01d7121bb190ced4d541b9c265b01b029225f2ebf
|
data/Gemfile
CHANGED
@@ -3,24 +3,24 @@ source "http://rubygems.org"
|
|
3
3
|
# Add dependencies required to use your gem here.
|
4
4
|
# Example:
|
5
5
|
# gem "activesupport", ">= 2.3.5"
|
6
|
-
gem "thor", ">= 0.17.1" # http://whatisthor.com/
|
7
|
-
gem "highline", ">= 1.5.1" # https://github.com/JEG2/highline
|
8
|
-
gem "mustache", "~> 0.99.4" # https://github.com/defunkt/mustache
|
9
|
-
gem "terminal-table" # https://github.com/visionmedia/terminal-table
|
10
|
-
gem "ruby-progressbar" # https://github.com/jfelchner/ruby-progressbar
|
6
|
+
gem "thor", '~> 0.17' #, ">= 0.17.1" # http://whatisthor.com/
|
7
|
+
gem "highline", '~> 1.5' #, ">= 1.5.1" # https://github.com/JEG2/highline
|
8
|
+
gem "mustache", '~> 0.99' #, "~> 0.99.4" # https://github.com/defunkt/mustache
|
9
|
+
gem "terminal-table", '~> 1.4' #, '>= 1.4.5' # https://github.com/visionmedia/terminal-table
|
10
|
+
gem "ruby-progressbar", '~> 1.4' #, '>= 1.4.0' # https://github.com/jfelchner/ruby-progressbar
|
11
11
|
|
12
12
|
# gem "god" # http://godrb.com/ <<<<< Still not sure about this. Maybe I can make it work in this for something awesome.
|
13
13
|
|
14
14
|
# Add dependencies to develop your gem here.
|
15
15
|
# Include everything needed to run rake, tests, features, etc.
|
16
16
|
group :development do
|
17
|
-
gem 'coveralls'
|
17
|
+
gem 'coveralls', '~> 0.7' #, '>= 0.7.0'
|
18
18
|
gem "rake", "~> 10.0"
|
19
|
-
gem "shoulda", "
|
20
|
-
gem "rdoc", "
|
19
|
+
gem "shoulda", "~> 3.0"
|
20
|
+
gem "rdoc", "~> 4.0"
|
21
21
|
gem "bundler", "~> 1.0"
|
22
|
-
gem "jeweler",
|
23
|
-
gem "simplecov", ">= 0.8.0"
|
24
|
-
gem "ronn" # https://github.com/rtomayko/ronn
|
25
|
-
gem "fakefs" # https://github.com/defunkt/fakefs
|
22
|
+
gem "jeweler", '~> 2.0' #, ">= 2.0.1"
|
23
|
+
gem "simplecov", '~> 0.8' #, ">= 0.8.0"
|
24
|
+
# gem "ronn" # https://github.com/rtomayko/ronn
|
25
|
+
# gem "fakefs" # https://github.com/defunkt/fakefs
|
26
26
|
end
|
data/Gemfile.lock
CHANGED
@@ -8,7 +8,7 @@ GEM
|
|
8
8
|
thread_safe (~> 0.1)
|
9
9
|
tzinfo (~> 0.3.37)
|
10
10
|
addressable (2.3.5)
|
11
|
-
atomic (1.1.
|
11
|
+
atomic (1.1.15)
|
12
12
|
builder (3.2.2)
|
13
13
|
coveralls (0.7.0)
|
14
14
|
multi_json (~> 1.3)
|
@@ -18,7 +18,6 @@ GEM
|
|
18
18
|
thor
|
19
19
|
descendants_tracker (0.0.3)
|
20
20
|
docile (1.1.3)
|
21
|
-
fakefs (0.5.0)
|
22
21
|
faraday (0.9.0)
|
23
22
|
multipart-post (>= 1.2, < 3)
|
24
23
|
git (1.2.6)
|
@@ -32,7 +31,6 @@ GEM
|
|
32
31
|
oauth2
|
33
32
|
hashie (2.0.5)
|
34
33
|
highline (1.6.20)
|
35
|
-
hpricot (0.8.6)
|
36
34
|
i18n (0.6.9)
|
37
35
|
jeweler (2.0.1)
|
38
36
|
builder
|
@@ -63,15 +61,10 @@ GEM
|
|
63
61
|
rack (~> 1.2)
|
64
62
|
rack (1.5.2)
|
65
63
|
rake (10.1.1)
|
66
|
-
rdiscount (2.1.7)
|
67
64
|
rdoc (4.1.1)
|
68
65
|
json (~> 1.4)
|
69
66
|
rest-client (1.6.7)
|
70
67
|
mime-types (>= 1.16)
|
71
|
-
ronn (0.7.3)
|
72
|
-
hpricot (>= 0.8.2)
|
73
|
-
mustache (>= 0.7.0)
|
74
|
-
rdiscount (>= 1.5.8)
|
75
68
|
ruby-progressbar (1.4.1)
|
76
69
|
shoulda (3.5.0)
|
77
70
|
shoulda-context (~> 1.0, >= 1.0.1)
|
@@ -88,8 +81,8 @@ GEM
|
|
88
81
|
tins (~> 1.0)
|
89
82
|
terminal-table (1.4.5)
|
90
83
|
thor (0.18.1)
|
91
|
-
thread_safe (0.
|
92
|
-
atomic
|
84
|
+
thread_safe (0.2.0)
|
85
|
+
atomic (>= 1.1.7, < 2)
|
93
86
|
tins (1.0.0)
|
94
87
|
tzinfo (0.3.38)
|
95
88
|
|
@@ -98,16 +91,14 @@ PLATFORMS
|
|
98
91
|
|
99
92
|
DEPENDENCIES
|
100
93
|
bundler (~> 1.0)
|
101
|
-
coveralls
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
mustache (~> 0.99.4)
|
94
|
+
coveralls (~> 0.7)
|
95
|
+
highline (~> 1.5)
|
96
|
+
jeweler (~> 2.0)
|
97
|
+
mustache (~> 0.99)
|
106
98
|
rake (~> 10.0)
|
107
|
-
rdoc (
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
thor (>= 0.17.1)
|
99
|
+
rdoc (~> 4.0)
|
100
|
+
ruby-progressbar (~> 1.4)
|
101
|
+
shoulda (~> 3.0)
|
102
|
+
simplecov (~> 0.8)
|
103
|
+
terminal-table (~> 1.4)
|
104
|
+
thor (~> 0.17)
|
data/Rakefile
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
+
# .
|
2
3
|
|
4
|
+
require_relative 'lib/server/colorizer'
|
3
5
|
require 'rubygems'
|
4
6
|
require 'bundler'
|
5
7
|
begin
|
@@ -15,7 +17,7 @@ require 'jeweler'
|
|
15
17
|
Jeweler::Tasks.new do |gem|
|
16
18
|
# gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
|
17
19
|
gem.name = "server"
|
18
|
-
gem.version = "0.0.4"
|
20
|
+
# gem.version = "0.0.4"
|
19
21
|
gem.homepage = "http://github.com/rex/server-gem"
|
20
22
|
gem.license = "MIT"
|
21
23
|
gem.summary = "Manage servers in a really awesome way. Like a boss. NOTE: This doesn't do much of anything yet. In a few days I should have a much more awesome feature set live."
|
@@ -41,6 +43,62 @@ task :simplecov do
|
|
41
43
|
Rake::Task['test'].execute
|
42
44
|
end
|
43
45
|
|
46
|
+
require_relative 'helpers/version'
|
47
|
+
require_relative 'helpers/git'
|
48
|
+
require_relative 'helpers/rubygem'
|
49
|
+
|
50
|
+
Version = Helpers::Version.new
|
51
|
+
GitHelper = Helpers::Git.new
|
52
|
+
RubyGem = Helpers::RubyGem.new
|
53
|
+
|
54
|
+
namespace :deploy do
|
55
|
+
desc "Git stuff"
|
56
|
+
task :git do
|
57
|
+
puts "Current branch is '#{GitHelper.current_branch?}'"
|
58
|
+
puts "Curl enabled? #{RubyGem.curl_enabled?}"
|
59
|
+
GitHelper.release_type = :patch
|
60
|
+
GitHelper.version = Version.to_s
|
61
|
+
RubyGem.version = Version.to_s
|
62
|
+
Version.explain
|
63
|
+
GitHelper.explain
|
64
|
+
RubyGem.explain
|
65
|
+
end
|
66
|
+
|
67
|
+
desc "Bump build number"
|
68
|
+
task :build => ['simplecov'] do
|
69
|
+
Version.bump(:build)
|
70
|
+
end
|
71
|
+
|
72
|
+
desc "Release an patch version"
|
73
|
+
task :patch => ['simplecov'] do
|
74
|
+
Version.bump(:patch)
|
75
|
+
GitHelper.release_type = :patch
|
76
|
+
Rake::Task['deploy:go'].execute
|
77
|
+
end
|
78
|
+
|
79
|
+
desc "Release a minor version"
|
80
|
+
task :minor => ['simplecov'] do
|
81
|
+
Version.bump(:minor)
|
82
|
+
GitHelper.release_type = :minor
|
83
|
+
Rake::Task['deploy:go'].execute
|
84
|
+
end
|
85
|
+
|
86
|
+
desc "Release a major version"
|
87
|
+
task :major => ['simplecov'] do
|
88
|
+
Version.bump(:major)
|
89
|
+
GitHelper.release_type = :major
|
90
|
+
Rake::Task['deploy:go'].execute
|
91
|
+
end
|
92
|
+
|
93
|
+
task :go do
|
94
|
+
Rake::Task['build'].execute
|
95
|
+
RubyGem.version = Version.to_s
|
96
|
+
RubyGem.deploy!
|
97
|
+
GitHelper.version = Version.to_s
|
98
|
+
GitHelper.deploy!
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
44
102
|
task :default => :test
|
45
103
|
|
46
104
|
require 'rdoc/task'
|
@@ -51,4 +109,4 @@ Rake::RDocTask.new do |rdoc|
|
|
51
109
|
rdoc.title = "server #{version}"
|
52
110
|
rdoc.rdoc_files.include('README*')
|
53
111
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
54
|
-
end
|
112
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.0.7.4
|
@@ -0,0 +1,379 @@
|
|
1
|
+
# Found at: http://www.opensource.apple.com/source/ruby/ruby-75/ruby/test/ruby/
|
2
|
+
|
3
|
+
# test_logger.rb [plain text]
|
4
|
+
require 'test/unit'
|
5
|
+
require 'logger'
|
6
|
+
require 'tempfile'
|
7
|
+
|
8
|
+
|
9
|
+
class TestLoggerSeverity < Test::Unit::TestCase
|
10
|
+
def test_enum
|
11
|
+
logger_levels = Logger.constants
|
12
|
+
levels = ["WARN", "UNKNOWN", "INFO", "FATAL", "DEBUG", "ERROR"]
|
13
|
+
Logger::Severity.constants.each do |level|
|
14
|
+
assert(levels.include?(level))
|
15
|
+
assert(logger_levels.include?(level))
|
16
|
+
end
|
17
|
+
assert_equal(levels.size, Logger::Severity.constants.size)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
class TestLogger < Test::Unit::TestCase
|
23
|
+
include Logger::Severity
|
24
|
+
|
25
|
+
def setup
|
26
|
+
@logger = Logger.new(nil)
|
27
|
+
end
|
28
|
+
|
29
|
+
class Log
|
30
|
+
attr_reader :label, :datetime, :pid, :severity, :progname, :msg
|
31
|
+
def initialize(line)
|
32
|
+
/\A(\w+), \[([^#]*)#(\d+)\]\s+(\w+) -- (\w*): ([\x0-\xff]*)/ =~ line
|
33
|
+
@label, @datetime, @pid, @severity, @progname, @msg = $1, $2, $3, $4, $5, $6
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def log_add(logger, severity, msg, progname = nil, &block)
|
38
|
+
log(logger, :add, severity, msg, progname, &block)
|
39
|
+
end
|
40
|
+
|
41
|
+
def log(logger, msg_id, *arg, &block)
|
42
|
+
Log.new(log_raw(logger, msg_id, *arg, &block))
|
43
|
+
end
|
44
|
+
|
45
|
+
def log_raw(logger, msg_id, *arg, &block)
|
46
|
+
logdev = Tempfile.new(File.basename(__FILE__) + '.log')
|
47
|
+
logger.instance_eval { @logdev = Logger::LogDevice.new(logdev) }
|
48
|
+
logger.__send__(msg_id, *arg, &block)
|
49
|
+
logdev.open
|
50
|
+
msg = logdev.read
|
51
|
+
logdev.close
|
52
|
+
msg
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_level
|
56
|
+
@logger.level = UNKNOWN
|
57
|
+
assert_equal(UNKNOWN, @logger.level)
|
58
|
+
@logger.level = INFO
|
59
|
+
assert_equal(INFO, @logger.level)
|
60
|
+
@logger.sev_threshold = ERROR
|
61
|
+
assert_equal(ERROR, @logger.sev_threshold)
|
62
|
+
@logger.sev_threshold = WARN
|
63
|
+
assert_equal(WARN, @logger.sev_threshold)
|
64
|
+
assert_equal(WARN, @logger.level)
|
65
|
+
|
66
|
+
@logger.level = DEBUG
|
67
|
+
assert(@logger.debug?)
|
68
|
+
assert(@logger.info?)
|
69
|
+
@logger.level = INFO
|
70
|
+
assert(!@logger.debug?)
|
71
|
+
assert(@logger.info?)
|
72
|
+
assert(@logger.warn?)
|
73
|
+
@logger.level = WARN
|
74
|
+
assert(!@logger.info?)
|
75
|
+
assert(@logger.warn?)
|
76
|
+
assert(@logger.error?)
|
77
|
+
@logger.level = ERROR
|
78
|
+
assert(!@logger.warn?)
|
79
|
+
assert(@logger.error?)
|
80
|
+
assert(@logger.fatal?)
|
81
|
+
@logger.level = FATAL
|
82
|
+
assert(!@logger.error?)
|
83
|
+
assert(@logger.fatal?)
|
84
|
+
@logger.level = UNKNOWN
|
85
|
+
assert(!@logger.error?)
|
86
|
+
assert(!@logger.fatal?)
|
87
|
+
end
|
88
|
+
|
89
|
+
def test_progname
|
90
|
+
assert_nil(@logger.progname)
|
91
|
+
@logger.progname = "name"
|
92
|
+
assert_equal("name", @logger.progname)
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_datetime_format
|
96
|
+
dummy = STDERR
|
97
|
+
logger = Logger.new(dummy)
|
98
|
+
log = log_add(logger, INFO, "foo")
|
99
|
+
assert_match(/^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\s*\d+ $/, log.datetime)
|
100
|
+
logger.datetime_format = "%d%b%Y@%H:%M:%S"
|
101
|
+
log = log_add(logger, INFO, "foo")
|
102
|
+
assert_match(/^\d\d\w\w\w\d\d\d\d@\d\d:\d\d:\d\d$/, log.datetime)
|
103
|
+
logger.datetime_format = ""
|
104
|
+
log = log_add(logger, INFO, "foo")
|
105
|
+
assert_match(/^$/, log.datetime)
|
106
|
+
end
|
107
|
+
|
108
|
+
def test_formatter
|
109
|
+
dummy = STDERR
|
110
|
+
logger = Logger.new(dummy)
|
111
|
+
# default
|
112
|
+
log = log(logger, :info, "foo")
|
113
|
+
assert_equal("foo\n", log.msg)
|
114
|
+
# config
|
115
|
+
logger.formatter = proc { |severity, timestamp, progname, msg|
|
116
|
+
"#{severity}:#{msg}\n\n"
|
117
|
+
}
|
118
|
+
line = log_raw(logger, :info, "foo")
|
119
|
+
assert_equal("INFO:foo\n\n", line)
|
120
|
+
# recover
|
121
|
+
logger.formatter = nil
|
122
|
+
log = log(logger, :info, "foo")
|
123
|
+
assert_equal("foo\n", log.msg)
|
124
|
+
# again
|
125
|
+
o = Object.new
|
126
|
+
def o.call(severity, timestamp, progname, msg)
|
127
|
+
"<<#{severity}-#{msg}>>\n"
|
128
|
+
end
|
129
|
+
logger.formatter = o
|
130
|
+
line = log_raw(logger, :info, "foo")
|
131
|
+
assert_equal("<<INFO-foo>>\n", line)
|
132
|
+
end
|
133
|
+
|
134
|
+
def test_initialize
|
135
|
+
logger = Logger.new(STDERR)
|
136
|
+
assert_nil(logger.progname)
|
137
|
+
assert_equal(DEBUG, logger.level)
|
138
|
+
assert_nil(logger.datetime_format)
|
139
|
+
end
|
140
|
+
|
141
|
+
def test_add
|
142
|
+
logger = Logger.new(nil)
|
143
|
+
logger.progname = "my_progname"
|
144
|
+
assert(logger.add(INFO))
|
145
|
+
log = log_add(logger, nil, "msg")
|
146
|
+
assert_equal("ANY", log.severity)
|
147
|
+
assert_equal("my_progname", log.progname)
|
148
|
+
logger.level = WARN
|
149
|
+
assert(logger.log(INFO))
|
150
|
+
assert_nil(log_add(logger, INFO, "msg").msg)
|
151
|
+
log = log_add(logger, WARN, nil) { "msg" }
|
152
|
+
assert_equal("msg\n", log.msg)
|
153
|
+
log = log_add(logger, WARN, "") { "msg" }
|
154
|
+
assert_equal("\n", log.msg)
|
155
|
+
assert_equal("my_progname", log.progname)
|
156
|
+
log = log_add(logger, WARN, nil, "progname?")
|
157
|
+
assert_equal("progname?\n", log.msg)
|
158
|
+
assert_equal("my_progname", log.progname)
|
159
|
+
end
|
160
|
+
|
161
|
+
def test_level_log
|
162
|
+
logger = Logger.new(nil)
|
163
|
+
logger.progname = "my_progname"
|
164
|
+
log = log(logger, :debug, "custom_progname") { "msg" }
|
165
|
+
assert_equal("msg\n", log.msg)
|
166
|
+
assert_equal("custom_progname", log.progname)
|
167
|
+
assert_equal("DEBUG", log.severity)
|
168
|
+
assert_equal("D", log.label)
|
169
|
+
#
|
170
|
+
log = log(logger, :debug) { "msg_block" }
|
171
|
+
assert_equal("msg_block\n", log.msg)
|
172
|
+
assert_equal("my_progname", log.progname)
|
173
|
+
log = log(logger, :debug, "msg_inline")
|
174
|
+
assert_equal("msg_inline\n", log.msg)
|
175
|
+
assert_equal("my_progname", log.progname)
|
176
|
+
#
|
177
|
+
log = log(logger, :info, "custom_progname") { "msg" }
|
178
|
+
assert_equal("msg\n", log.msg)
|
179
|
+
assert_equal("custom_progname", log.progname)
|
180
|
+
assert_equal("INFO", log.severity)
|
181
|
+
assert_equal("I", log.label)
|
182
|
+
#
|
183
|
+
log = log(logger, :warn, "custom_progname") { "msg" }
|
184
|
+
assert_equal("msg\n", log.msg)
|
185
|
+
assert_equal("custom_progname", log.progname)
|
186
|
+
assert_equal("WARN", log.severity)
|
187
|
+
assert_equal("W", log.label)
|
188
|
+
#
|
189
|
+
log = log(logger, :error, "custom_progname") { "msg" }
|
190
|
+
assert_equal("msg\n", log.msg)
|
191
|
+
assert_equal("custom_progname", log.progname)
|
192
|
+
assert_equal("ERROR", log.severity)
|
193
|
+
assert_equal("E", log.label)
|
194
|
+
#
|
195
|
+
log = log(logger, :fatal, "custom_progname") { "msg" }
|
196
|
+
assert_equal("msg\n", log.msg)
|
197
|
+
assert_equal("custom_progname", log.progname)
|
198
|
+
assert_equal("FATAL", log.severity)
|
199
|
+
assert_equal("F", log.label)
|
200
|
+
#
|
201
|
+
log = log(logger, :unknown, "custom_progname") { "msg" }
|
202
|
+
assert_equal("msg\n", log.msg)
|
203
|
+
assert_equal("custom_progname", log.progname)
|
204
|
+
assert_equal("ANY", log.severity)
|
205
|
+
assert_equal("A", log.label)
|
206
|
+
end
|
207
|
+
|
208
|
+
def test_close
|
209
|
+
r, w = IO.pipe
|
210
|
+
assert(!w.closed?)
|
211
|
+
logger = Logger.new(w)
|
212
|
+
logger.close
|
213
|
+
assert(w.closed?)
|
214
|
+
r.close
|
215
|
+
end
|
216
|
+
|
217
|
+
class MyError < StandardError
|
218
|
+
end
|
219
|
+
|
220
|
+
class MyMsg
|
221
|
+
def inspect
|
222
|
+
"my_msg"
|
223
|
+
end
|
224
|
+
end
|
225
|
+
|
226
|
+
def test_format
|
227
|
+
logger = Logger.new(nil)
|
228
|
+
log = log_add(logger, INFO, "msg\n")
|
229
|
+
assert_equal("msg\n\n", log.msg)
|
230
|
+
begin
|
231
|
+
raise MyError.new("excn")
|
232
|
+
rescue MyError => e
|
233
|
+
log = log_add(logger, INFO, e)
|
234
|
+
assert_match(/^excn \(TestLogger::MyError\)/, log.msg)
|
235
|
+
# expects backtrace is dumped across multi lines. 10 might be changed.
|
236
|
+
assert(log.msg.split(/\n/).size >= 10)
|
237
|
+
end
|
238
|
+
log = log_add(logger, INFO, MyMsg.new)
|
239
|
+
assert_equal("my_msg\n", log.msg)
|
240
|
+
end
|
241
|
+
|
242
|
+
def test_lshift
|
243
|
+
r, w = IO.pipe
|
244
|
+
logger = Logger.new(w)
|
245
|
+
logger << "msg"
|
246
|
+
read_ready, = IO.select([r], nil, nil, 0.1)
|
247
|
+
w.close
|
248
|
+
msg = r.read
|
249
|
+
r.close
|
250
|
+
assert_equal("msg", msg)
|
251
|
+
#
|
252
|
+
r, w = IO.pipe
|
253
|
+
logger = Logger.new(w)
|
254
|
+
logger << "msg2\n\n"
|
255
|
+
read_ready, = IO.select([r], nil, nil, 0.1)
|
256
|
+
w.close
|
257
|
+
msg = r.read
|
258
|
+
r.close
|
259
|
+
assert_equal("msg2\n\n", msg)
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
263
|
+
class TestLogDevice < Test::Unit::TestCase
|
264
|
+
def d(log)
|
265
|
+
Logger::LogDevice.new(log)
|
266
|
+
end
|
267
|
+
|
268
|
+
def test_initialize
|
269
|
+
logdev = d(STDERR)
|
270
|
+
assert_equal(STDERR, logdev.dev)
|
271
|
+
assert_nil(logdev.filename)
|
272
|
+
assert_raises(TypeError) do
|
273
|
+
d(nil)
|
274
|
+
end
|
275
|
+
#
|
276
|
+
filename = __FILE__ + ".#{$$}"
|
277
|
+
begin
|
278
|
+
logdev = d(filename)
|
279
|
+
assert(File.exist?(filename))
|
280
|
+
assert(logdev.dev.sync)
|
281
|
+
assert_equal(filename, logdev.filename)
|
282
|
+
ensure
|
283
|
+
logdev.close
|
284
|
+
File.unlink(filename)
|
285
|
+
end
|
286
|
+
end
|
287
|
+
|
288
|
+
def test_write
|
289
|
+
r, w = IO.pipe
|
290
|
+
logdev = d(w)
|
291
|
+
logdev.write("msg2\n\n")
|
292
|
+
read_ready, = IO.select([r], nil, nil, 0.1)
|
293
|
+
w.close
|
294
|
+
msg = r.read
|
295
|
+
r.close
|
296
|
+
assert_equal("msg2\n\n", msg)
|
297
|
+
end
|
298
|
+
|
299
|
+
def test_close
|
300
|
+
r, w = IO.pipe
|
301
|
+
logdev = d(w)
|
302
|
+
logdev.write("msg2\n\n")
|
303
|
+
read_ready, = IO.select([r], nil, nil, 0.1)
|
304
|
+
assert(!w.closed?)
|
305
|
+
logdev.close
|
306
|
+
assert(w.closed?)
|
307
|
+
r.close
|
308
|
+
end
|
309
|
+
|
310
|
+
def test_shifting_size
|
311
|
+
logfile = File.basename(__FILE__) + '_1.log'
|
312
|
+
logfile0 = logfile + '.0'
|
313
|
+
logfile1 = logfile + '.1'
|
314
|
+
logfile2 = logfile + '.2'
|
315
|
+
logfile3 = logfile + '.3'
|
316
|
+
File.unlink(logfile) if File.exist?(logfile)
|
317
|
+
File.unlink(logfile0) if File.exist?(logfile0)
|
318
|
+
File.unlink(logfile1) if File.exist?(logfile1)
|
319
|
+
File.unlink(logfile2) if File.exist?(logfile2)
|
320
|
+
logger = Logger.new(logfile, 4, 100)
|
321
|
+
logger.error("0" * 15)
|
322
|
+
assert(File.exist?(logfile))
|
323
|
+
assert(!File.exist?(logfile0))
|
324
|
+
logger.error("0" * 15)
|
325
|
+
assert(File.exist?(logfile0))
|
326
|
+
assert(!File.exist?(logfile1))
|
327
|
+
logger.error("0" * 15)
|
328
|
+
assert(File.exist?(logfile1))
|
329
|
+
assert(!File.exist?(logfile2))
|
330
|
+
logger.error("0" * 15)
|
331
|
+
assert(File.exist?(logfile2))
|
332
|
+
assert(!File.exist?(logfile3))
|
333
|
+
logger.error("0" * 15)
|
334
|
+
assert(!File.exist?(logfile3))
|
335
|
+
logger.error("0" * 15)
|
336
|
+
assert(!File.exist?(logfile3))
|
337
|
+
logger.close
|
338
|
+
File.unlink(logfile)
|
339
|
+
File.unlink(logfile0)
|
340
|
+
File.unlink(logfile1)
|
341
|
+
File.unlink(logfile2)
|
342
|
+
|
343
|
+
logfile = File.basename(__FILE__) + '_2.log'
|
344
|
+
logfile0 = logfile + '.0'
|
345
|
+
logfile1 = logfile + '.1'
|
346
|
+
logfile2 = logfile + '.2'
|
347
|
+
logfile3 = logfile + '.3'
|
348
|
+
logger = Logger.new(logfile, 4, 150)
|
349
|
+
logger.error("0" * 15)
|
350
|
+
assert(File.exist?(logfile))
|
351
|
+
assert(!File.exist?(logfile0))
|
352
|
+
logger.error("0" * 15)
|
353
|
+
assert(!File.exist?(logfile0))
|
354
|
+
logger.error("0" * 15)
|
355
|
+
assert(File.exist?(logfile0))
|
356
|
+
assert(!File.exist?(logfile1))
|
357
|
+
logger.error("0" * 15)
|
358
|
+
assert(!File.exist?(logfile1))
|
359
|
+
logger.error("0" * 15)
|
360
|
+
assert(File.exist?(logfile1))
|
361
|
+
assert(!File.exist?(logfile2))
|
362
|
+
logger.error("0" * 15)
|
363
|
+
assert(!File.exist?(logfile2))
|
364
|
+
logger.error("0" * 15)
|
365
|
+
assert(File.exist?(logfile2))
|
366
|
+
assert(!File.exist?(logfile3))
|
367
|
+
logger.error("0" * 15)
|
368
|
+
assert(!File.exist?(logfile3))
|
369
|
+
logger.error("0" * 15)
|
370
|
+
assert(!File.exist?(logfile3))
|
371
|
+
logger.error("0" * 15)
|
372
|
+
assert(!File.exist?(logfile3))
|
373
|
+
logger.close
|
374
|
+
File.unlink(logfile)
|
375
|
+
File.unlink(logfile0)
|
376
|
+
File.unlink(logfile1)
|
377
|
+
File.unlink(logfile2)
|
378
|
+
end
|
379
|
+
end
|
data/helpers/gemfile.rb
ADDED
data/helpers/gemspec.rb
ADDED
data/helpers/git.rb
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
module Helpers
|
2
|
+
class Git
|
3
|
+
attr_accessor :remote, :branch, :release_type, :version
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
@remote = :origin
|
7
|
+
@branch = current_branch?
|
8
|
+
@release_type = :build
|
9
|
+
@version = nil
|
10
|
+
end
|
11
|
+
|
12
|
+
def explain
|
13
|
+
puts "Remote: #{@remote}"
|
14
|
+
puts "Current branch: #{@branch}"
|
15
|
+
puts "Version: #{@version}"
|
16
|
+
puts "Release type: #{@release_type}"
|
17
|
+
end
|
18
|
+
|
19
|
+
def clean_working_dir?
|
20
|
+
#
|
21
|
+
end
|
22
|
+
|
23
|
+
def current_branch?
|
24
|
+
local_branches = `git branch`
|
25
|
+
current_branch = /(\* )(.*)/.match(local_branches)[2]
|
26
|
+
if current_branch
|
27
|
+
return current_branch
|
28
|
+
else
|
29
|
+
raise "Not on a git branch! Something is wrong!"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def deploy!
|
34
|
+
raise "No version provided to deploy!" if !@version
|
35
|
+
add_all
|
36
|
+
commit!
|
37
|
+
autotag!
|
38
|
+
push!
|
39
|
+
end
|
40
|
+
|
41
|
+
def autotag!
|
42
|
+
`git tag -a v#{@version} -m '#{@release_type} release, version #{@version}'`
|
43
|
+
end
|
44
|
+
|
45
|
+
def add_all
|
46
|
+
`git add -A`
|
47
|
+
end
|
48
|
+
|
49
|
+
def commit!
|
50
|
+
`git commit -m '#{@release_type} release, version #{@version}'`
|
51
|
+
end
|
52
|
+
|
53
|
+
def push!
|
54
|
+
`git push #{@remote} #{@branch}`
|
55
|
+
`git push --tags`
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
data/helpers/rubygem.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
module Helpers
|
2
|
+
class RubyGem
|
3
|
+
attr_accessor :version
|
4
|
+
attr_reader :pkg_root
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
raise "No RubyGems API key found in environment!" if !ENV['RUBYGEMS_API_KEY']
|
8
|
+
@api_key = ENV['RUBYGEMS_API_KEY']
|
9
|
+
@pkg_prefix = "server-"
|
10
|
+
@pkg_root = File.expand_path('../../pkg/', __FILE__)
|
11
|
+
@version = nil
|
12
|
+
end
|
13
|
+
|
14
|
+
def explain
|
15
|
+
puts "Built gems being stored in #{@pkg_root}"
|
16
|
+
puts "v0.0.5.2 built gem path is #{pkg_path}"
|
17
|
+
puts "RubyGems API key: #{@api_key}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def pkg_path
|
21
|
+
File.join(@pkg_root, pkg_name)
|
22
|
+
end
|
23
|
+
|
24
|
+
def pkg_name
|
25
|
+
raise "No version set!" if !@version
|
26
|
+
"#{@pkg_prefix}#{@version}.gem"
|
27
|
+
end
|
28
|
+
|
29
|
+
def curl_enabled?
|
30
|
+
`which curl`.strip != ""
|
31
|
+
end
|
32
|
+
|
33
|
+
def build!
|
34
|
+
#
|
35
|
+
end
|
36
|
+
|
37
|
+
def deploy!
|
38
|
+
raise "CURL needs to be enabled to push built gems!" if !curl_enabled?
|
39
|
+
puts "Uploading gem v#{@version} [#{pkg_path}]".red
|
40
|
+
`curl --data-binary @#{pkg_path} \
|
41
|
+
-H 'Authorization:#{@api_key}' \
|
42
|
+
https://rubygems.org/api/v1/gems`
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,115 @@
|
|
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: server {{VERSION}} ruby lib
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "server"
|
9
|
+
s.version = "{{VERSION}}"
|
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 = ["Pierce Moore"]
|
14
|
+
s.date = "2014-02-28"
|
15
|
+
s.description = "PRE-ALPHA RELEASE! This gem is a work in progress that will soon allow for much easier management of servers and performance of various server administration tasks."
|
16
|
+
s.email = "me@prex.io"
|
17
|
+
s.executables = ["server"]
|
18
|
+
s.extra_rdoc_files = [
|
19
|
+
"LICENSE",
|
20
|
+
"LICENSE.txt",
|
21
|
+
"README.md"
|
22
|
+
]
|
23
|
+
s.files = [
|
24
|
+
".coveralls.yml",
|
25
|
+
".document",
|
26
|
+
".travis.yml",
|
27
|
+
"Gemfile",
|
28
|
+
"Gemfile.lock",
|
29
|
+
"LICENSE",
|
30
|
+
"LICENSE.txt",
|
31
|
+
"README.md",
|
32
|
+
"Rakefile",
|
33
|
+
"VERSION",
|
34
|
+
"apple_logger_test.rb",
|
35
|
+
"bin/server",
|
36
|
+
"lib/server.rb",
|
37
|
+
"lib/server/cli.rb",
|
38
|
+
"lib/server/colorizer.rb",
|
39
|
+
"lib/server/conf.rb",
|
40
|
+
"lib/server/installed.rb",
|
41
|
+
"lib/server/log.rb",
|
42
|
+
"lib/server/packages/nginx.rb",
|
43
|
+
"lib/server/packages/phpfpm.rb",
|
44
|
+
"lib/server/packages/templates/nginx.rb",
|
45
|
+
"lib/server/packages/templates/raw/haproxy.cfg.template",
|
46
|
+
"lib/server/packages/templates/raw/memcached.conf.template",
|
47
|
+
"lib/server/packages/templates/raw/nginx.conf.template",
|
48
|
+
"lib/server/packages/templates/raw/php.ini.template",
|
49
|
+
"lib/server/packages/templates/raw/phpfpm.conf.template",
|
50
|
+
"lib/server/packages/templates/raw/redis.conf.template",
|
51
|
+
"lib/server/packages/templates/renderer.rb",
|
52
|
+
"lib/server/signals.rb",
|
53
|
+
"lib/server/step.rb",
|
54
|
+
"lib/server/sys.rb",
|
55
|
+
"lib/server/workflows/db.rb",
|
56
|
+
"lib/server/workflows/web.rb",
|
57
|
+
"server.gemspec",
|
58
|
+
"test/helper.rb",
|
59
|
+
"test/loader.rb",
|
60
|
+
"test/test_logger.rb",
|
61
|
+
"test/test_server.rb",
|
62
|
+
"test/test_templates.rb"
|
63
|
+
]
|
64
|
+
s.homepage = "http://github.com/rex/server-gem"
|
65
|
+
s.licenses = ["MIT"]
|
66
|
+
s.required_ruby_version = Gem::Requirement.new(">= 1.9.3")
|
67
|
+
s.rubygems_version = "2.2.2"
|
68
|
+
s.summary = "Manage servers in a really awesome way. Like a boss. NOTE: This doesn't do much of anything yet. In a few days I should have a much more awesome feature set live."
|
69
|
+
|
70
|
+
if s.respond_to? :specification_version then
|
71
|
+
s.specification_version = 4
|
72
|
+
|
73
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
74
|
+
s.add_runtime_dependency(%q<thor>, ["~> 0.17"])
|
75
|
+
s.add_runtime_dependency(%q<highline>, ["~> 1.5"])
|
76
|
+
s.add_runtime_dependency(%q<mustache>, ["~> 0.99"])
|
77
|
+
s.add_runtime_dependency(%q<terminal-table>, ["~> 1.4"])
|
78
|
+
s.add_runtime_dependency(%q<ruby-progressbar>, ["~> 1.4"])
|
79
|
+
s.add_development_dependency(%q<coveralls>, ["~> 0.7"])
|
80
|
+
s.add_development_dependency(%q<rake>, ["~> 10.0"])
|
81
|
+
s.add_development_dependency(%q<shoulda>, ["~> 3.0"])
|
82
|
+
s.add_development_dependency(%q<rdoc>, ["~> 4.0"])
|
83
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
84
|
+
s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
|
85
|
+
s.add_development_dependency(%q<simplecov>, ["~> 0.8"])
|
86
|
+
else
|
87
|
+
s.add_dependency(%q<thor>, ["~> 0.17"])
|
88
|
+
s.add_dependency(%q<highline>, ["~> 1.5"])
|
89
|
+
s.add_dependency(%q<mustache>, ["~> 0.99"])
|
90
|
+
s.add_dependency(%q<terminal-table>, ["~> 1.4"])
|
91
|
+
s.add_dependency(%q<ruby-progressbar>, ["~> 1.4"])
|
92
|
+
s.add_dependency(%q<coveralls>, ["~> 0.7"])
|
93
|
+
s.add_dependency(%q<rake>, ["~> 10.0"])
|
94
|
+
s.add_dependency(%q<shoulda>, ["~> 3.0"])
|
95
|
+
s.add_dependency(%q<rdoc>, ["~> 4.0"])
|
96
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
97
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0"])
|
98
|
+
s.add_dependency(%q<simplecov>, ["~> 0.8"])
|
99
|
+
end
|
100
|
+
else
|
101
|
+
s.add_dependency(%q<thor>, ["~> 0.17"])
|
102
|
+
s.add_dependency(%q<highline>, ["~> 1.5"])
|
103
|
+
s.add_dependency(%q<mustache>, ["~> 0.99"])
|
104
|
+
s.add_dependency(%q<terminal-table>, ["~> 1.4"])
|
105
|
+
s.add_dependency(%q<ruby-progressbar>, ["~> 1.4"])
|
106
|
+
s.add_dependency(%q<coveralls>, ["~> 0.7"])
|
107
|
+
s.add_dependency(%q<rake>, ["~> 10.0"])
|
108
|
+
s.add_dependency(%q<shoulda>, ["~> 3.0"])
|
109
|
+
s.add_dependency(%q<rdoc>, ["~> 4.0"])
|
110
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
111
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0"])
|
112
|
+
s.add_dependency(%q<simplecov>, ["~> 0.8"])
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
data/helpers/version.rb
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
module Helpers
|
2
|
+
class Version
|
3
|
+
attr_reader :version, :version_string, :file_path
|
4
|
+
attr_accessor :major, :minor, :patch, :build
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
@file_path = File.expand_path("../../VERSION", __FILE__)
|
8
|
+
init_version
|
9
|
+
end
|
10
|
+
|
11
|
+
def explain
|
12
|
+
puts "Version file path is #{@file_path}"
|
13
|
+
puts @version
|
14
|
+
end
|
15
|
+
|
16
|
+
def major
|
17
|
+
@version[:major]
|
18
|
+
end
|
19
|
+
|
20
|
+
def minor
|
21
|
+
@version[:minor]
|
22
|
+
end
|
23
|
+
|
24
|
+
def patch
|
25
|
+
@version[:patch]
|
26
|
+
end
|
27
|
+
|
28
|
+
def build
|
29
|
+
@version[:build]
|
30
|
+
end
|
31
|
+
|
32
|
+
def to_s
|
33
|
+
[major, minor, patch, build].compact.join('.')
|
34
|
+
end
|
35
|
+
|
36
|
+
def init_version
|
37
|
+
if File.exists?(@file_path)
|
38
|
+
set_version File.read(@file_path)
|
39
|
+
else
|
40
|
+
raise "No VERSION file found"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def bump(type)
|
45
|
+
case type
|
46
|
+
when :major
|
47
|
+
@version[:major] += 1
|
48
|
+
@version[:minor] = 0
|
49
|
+
@version[:patch] = 0
|
50
|
+
when :minor
|
51
|
+
@version[:minor] += 1
|
52
|
+
@version[:patch] = 0
|
53
|
+
when :patch
|
54
|
+
@version[:patch] += 1
|
55
|
+
end
|
56
|
+
@version[:build] += 1
|
57
|
+
puts "Version bumped to #{to_s} (#{type})"
|
58
|
+
save!
|
59
|
+
end
|
60
|
+
|
61
|
+
def set_version(version_string)
|
62
|
+
version = version_string.strip.split('.')
|
63
|
+
@version = {
|
64
|
+
:major => version[0].to_i,
|
65
|
+
:minor => version[1].to_i,
|
66
|
+
:patch => version[2].to_i,
|
67
|
+
:build => (version[3].to_i || 0)
|
68
|
+
}
|
69
|
+
end
|
70
|
+
|
71
|
+
def save!
|
72
|
+
File.open(@file_path, 'w') do |f|
|
73
|
+
f.write to_s
|
74
|
+
end
|
75
|
+
puts "Updated version file"
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
data/server.gemspec
ADDED
@@ -0,0 +1,115 @@
|
|
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: server 0.0.5.2 ruby lib
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "server"
|
9
|
+
s.version = "0.0.5.2"
|
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 = ["Pierce Moore"]
|
14
|
+
s.date = "2014-02-28"
|
15
|
+
s.description = "PRE-ALPHA RELEASE! This gem is a work in progress that will soon allow for much easier management of servers and performance of various server administration tasks."
|
16
|
+
s.email = "me@prex.io"
|
17
|
+
s.executables = ["server"]
|
18
|
+
s.extra_rdoc_files = [
|
19
|
+
"LICENSE",
|
20
|
+
"LICENSE.txt",
|
21
|
+
"README.md"
|
22
|
+
]
|
23
|
+
s.files = [
|
24
|
+
".coveralls.yml",
|
25
|
+
".document",
|
26
|
+
".travis.yml",
|
27
|
+
"Gemfile",
|
28
|
+
"Gemfile.lock",
|
29
|
+
"LICENSE",
|
30
|
+
"LICENSE.txt",
|
31
|
+
"README.md",
|
32
|
+
"Rakefile",
|
33
|
+
"VERSION",
|
34
|
+
"apple_logger_test.rb",
|
35
|
+
"bin/server",
|
36
|
+
"lib/server.rb",
|
37
|
+
"lib/server/cli.rb",
|
38
|
+
"lib/server/colorizer.rb",
|
39
|
+
"lib/server/conf.rb",
|
40
|
+
"lib/server/installed.rb",
|
41
|
+
"lib/server/log.rb",
|
42
|
+
"lib/server/packages/nginx.rb",
|
43
|
+
"lib/server/packages/phpfpm.rb",
|
44
|
+
"lib/server/packages/templates/nginx.rb",
|
45
|
+
"lib/server/packages/templates/raw/haproxy.cfg.template",
|
46
|
+
"lib/server/packages/templates/raw/memcached.conf.template",
|
47
|
+
"lib/server/packages/templates/raw/nginx.conf.template",
|
48
|
+
"lib/server/packages/templates/raw/php.ini.template",
|
49
|
+
"lib/server/packages/templates/raw/phpfpm.conf.template",
|
50
|
+
"lib/server/packages/templates/raw/redis.conf.template",
|
51
|
+
"lib/server/packages/templates/renderer.rb",
|
52
|
+
"lib/server/signals.rb",
|
53
|
+
"lib/server/step.rb",
|
54
|
+
"lib/server/sys.rb",
|
55
|
+
"lib/server/workflows/db.rb",
|
56
|
+
"lib/server/workflows/web.rb",
|
57
|
+
"server.gemspec",
|
58
|
+
"test/helper.rb",
|
59
|
+
"test/loader.rb",
|
60
|
+
"test/test_logger.rb",
|
61
|
+
"test/test_server.rb",
|
62
|
+
"test/test_templates.rb"
|
63
|
+
]
|
64
|
+
s.homepage = "http://github.com/rex/server-gem"
|
65
|
+
s.licenses = ["MIT"]
|
66
|
+
s.required_ruby_version = Gem::Requirement.new(">= 1.9.3")
|
67
|
+
s.rubygems_version = "2.2.2"
|
68
|
+
s.summary = "Manage servers in a really awesome way. Like a boss. NOTE: This doesn't do much of anything yet. In a few days I should have a much more awesome feature set live."
|
69
|
+
|
70
|
+
if s.respond_to? :specification_version then
|
71
|
+
s.specification_version = 4
|
72
|
+
|
73
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
74
|
+
s.add_runtime_dependency(%q<thor>, ["~> 0.17"])
|
75
|
+
s.add_runtime_dependency(%q<highline>, ["~> 1.5"])
|
76
|
+
s.add_runtime_dependency(%q<mustache>, ["~> 0.99"])
|
77
|
+
s.add_runtime_dependency(%q<terminal-table>, ["~> 1.4"])
|
78
|
+
s.add_runtime_dependency(%q<ruby-progressbar>, ["~> 1.4"])
|
79
|
+
s.add_development_dependency(%q<coveralls>, ["~> 0.7"])
|
80
|
+
s.add_development_dependency(%q<rake>, ["~> 10.0"])
|
81
|
+
s.add_development_dependency(%q<shoulda>, ["~> 3.0"])
|
82
|
+
s.add_development_dependency(%q<rdoc>, ["~> 4.0"])
|
83
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
84
|
+
s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
|
85
|
+
s.add_development_dependency(%q<simplecov>, ["~> 0.8"])
|
86
|
+
else
|
87
|
+
s.add_dependency(%q<thor>, ["~> 0.17"])
|
88
|
+
s.add_dependency(%q<highline>, ["~> 1.5"])
|
89
|
+
s.add_dependency(%q<mustache>, ["~> 0.99"])
|
90
|
+
s.add_dependency(%q<terminal-table>, ["~> 1.4"])
|
91
|
+
s.add_dependency(%q<ruby-progressbar>, ["~> 1.4"])
|
92
|
+
s.add_dependency(%q<coveralls>, ["~> 0.7"])
|
93
|
+
s.add_dependency(%q<rake>, ["~> 10.0"])
|
94
|
+
s.add_dependency(%q<shoulda>, ["~> 3.0"])
|
95
|
+
s.add_dependency(%q<rdoc>, ["~> 4.0"])
|
96
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
97
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0"])
|
98
|
+
s.add_dependency(%q<simplecov>, ["~> 0.8"])
|
99
|
+
end
|
100
|
+
else
|
101
|
+
s.add_dependency(%q<thor>, ["~> 0.17"])
|
102
|
+
s.add_dependency(%q<highline>, ["~> 1.5"])
|
103
|
+
s.add_dependency(%q<mustache>, ["~> 0.99"])
|
104
|
+
s.add_dependency(%q<terminal-table>, ["~> 1.4"])
|
105
|
+
s.add_dependency(%q<ruby-progressbar>, ["~> 1.4"])
|
106
|
+
s.add_dependency(%q<coveralls>, ["~> 0.7"])
|
107
|
+
s.add_dependency(%q<rake>, ["~> 10.0"])
|
108
|
+
s.add_dependency(%q<shoulda>, ["~> 3.0"])
|
109
|
+
s.add_dependency(%q<rdoc>, ["~> 4.0"])
|
110
|
+
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
111
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0"])
|
112
|
+
s.add_dependency(%q<simplecov>, ["~> 0.8"])
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: server
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pierce Moore
|
@@ -14,86 +14,86 @@ dependencies:
|
|
14
14
|
name: thor
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.17
|
19
|
+
version: '0.17'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.17
|
26
|
+
version: '0.17'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: highline
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.5
|
33
|
+
version: '1.5'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.5
|
40
|
+
version: '1.5'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: mustache
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.99
|
47
|
+
version: '0.99'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.99
|
54
|
+
version: '0.99'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: terminal-table
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '1.4'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '1.4'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: ruby-progressbar
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '1.4'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '1.4'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: coveralls
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
89
|
+
version: '0.7'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
96
|
+
version: '0.7'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rake
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,28 +112,28 @@ dependencies:
|
|
112
112
|
name: shoulda
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '3.0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '3.0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: rdoc
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '4.0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - "
|
136
|
+
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '4.0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
@@ -156,28 +156,28 @@ dependencies:
|
|
156
156
|
requirements:
|
157
157
|
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 2.0
|
159
|
+
version: '2.0'
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 2.0
|
166
|
+
version: '2.0'
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: simplecov
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- - "
|
171
|
+
- - "~>"
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: 0.8
|
173
|
+
version: '0.8'
|
174
174
|
type: :development
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- - "
|
178
|
+
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: 0.8
|
180
|
+
version: '0.8'
|
181
181
|
description: PRE-ALPHA RELEASE! This gem is a work in progress that will soon allow
|
182
182
|
for much easier management of servers and performance of various server administration
|
183
183
|
tasks.
|
@@ -199,7 +199,16 @@ files:
|
|
199
199
|
- LICENSE.txt
|
200
200
|
- README.md
|
201
201
|
- Rakefile
|
202
|
+
- VERSION
|
203
|
+
- apple_logger_test.rb
|
202
204
|
- bin/server
|
205
|
+
- helpers/gemfile.rb
|
206
|
+
- helpers/gemspec.rb
|
207
|
+
- helpers/git.rb
|
208
|
+
- helpers/rubygem.rb
|
209
|
+
- helpers/templates/gemspec.mustache
|
210
|
+
- helpers/templates/gemspec.rb
|
211
|
+
- helpers/version.rb
|
203
212
|
- lib/server.rb
|
204
213
|
- lib/server/cli.rb
|
205
214
|
- lib/server/colorizer.rb
|
@@ -221,6 +230,7 @@ files:
|
|
221
230
|
- lib/server/sys.rb
|
222
231
|
- lib/server/workflows/db.rb
|
223
232
|
- lib/server/workflows/web.rb
|
233
|
+
- server.gemspec
|
224
234
|
- test/helper.rb
|
225
235
|
- test/loader.rb
|
226
236
|
- test/test_logger.rb
|