jefe 1.0.0 → 1.0.1
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/README.md +3 -1
- data/lib/jefe/version.rb +1 -1
- data/lib/jefe.rb +19 -5
- metadata +37 -76
data/README.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
-
#
|
1
|
+
# Jefe, the featherweight Procfile manager
|
2
2
|
|
3
3
|
Through the magic of [Thor](https://github.com/wycats/thor) and [EventMachine](http://rubyeventmachine.com/), we give you the equivalent to [Foreman](https://github.com/ddollar/foreman) in just 200 lines of sweet unadulterated Ruby.
|
4
|
+
|
5
|
+
Run `gem install jefe` and you're all set!
|
data/lib/jefe/version.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Jefe::VERSION = "1.0.
|
1
|
+
Jefe::VERSION = "1.0.1"
|
data/lib/jefe.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'eventmachine'
|
2
2
|
require 'pty'
|
3
|
-
require 'term/ansicolor'
|
4
3
|
require 'thor'
|
4
|
+
require 'thor/shell/color'
|
5
5
|
|
6
6
|
class Jefe
|
7
7
|
def initialize
|
@@ -47,16 +47,30 @@ class Jefe
|
|
47
47
|
end
|
48
48
|
|
49
49
|
class Jefe::ColorPrinter
|
50
|
-
Color =
|
50
|
+
Color = Thor::Shell::Color
|
51
51
|
COLORS = [:cyan, :yellow, :green, :magenta, :red]
|
52
52
|
def initialize
|
53
53
|
@colors ||= {"system" => :white}
|
54
|
+
@longest_seen = 0
|
55
|
+
end
|
56
|
+
def set_color color, string
|
57
|
+
color = Color.const_get color.to_s.upcase
|
58
|
+
"#{color}#{string}#{Color::CLEAR}"
|
59
|
+
end
|
60
|
+
def color_for type
|
61
|
+
@colors[type] ||= COLORS.shift.tap {|c| COLORS.push c}
|
62
|
+
end
|
63
|
+
def padding_for name
|
64
|
+
@longest_seen = name.size if name.size > @longest_seen
|
65
|
+
" " * (@longest_seen - name.length)
|
66
|
+
end
|
67
|
+
def datetime
|
68
|
+
Time.now.strftime '%H:%M:%S'
|
54
69
|
end
|
55
70
|
def out name, command
|
56
71
|
type = name.match(/^([A-Za-z0-9_]+).\d+$/) ? $1 : name
|
57
|
-
|
58
|
-
color
|
59
|
-
puts "#{Color.send color} #{Time.now.strftime '%H:%M:%S'} #{name}#{' ' * (9 - name.length)} | #{Color.reset}#{command.chomp}"
|
72
|
+
color = color_for type
|
73
|
+
puts set_color(color, "#{datetime} #{name}#{padding_for name} | ") + command.chomp
|
60
74
|
end
|
61
75
|
end
|
62
76
|
|
metadata
CHANGED
@@ -1,112 +1,73 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: jefe
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 0
|
10
|
-
version: 1.0.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Michael Maltese
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-01-17 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: eventmachine
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70096979689180 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
33
22
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: term-ansicolor
|
37
23
|
prerelease: false
|
38
|
-
|
39
|
-
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
hash: 3
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
version: "0"
|
47
|
-
type: :runtime
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
version_requirements: *70096979689180
|
25
|
+
- !ruby/object:Gem::Dependency
|
50
26
|
name: thor
|
51
|
-
|
52
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
27
|
+
requirement: &70096979688760 !ruby/object:Gem::Requirement
|
53
28
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
segments:
|
59
|
-
- 0
|
60
|
-
version: "0"
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
61
33
|
type: :runtime
|
62
|
-
|
63
|
-
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70096979688760
|
36
|
+
description: Through the magic of Thor and EventMachine, we give you the equivalent
|
37
|
+
to Foreman in just 200 lines of sweet unadulterated Ruby.
|
64
38
|
email: michael.maltese@pomona.edu
|
65
|
-
executables:
|
39
|
+
executables:
|
66
40
|
- jefe
|
67
41
|
extensions: []
|
68
|
-
|
69
42
|
extra_rdoc_files: []
|
70
|
-
|
71
|
-
files:
|
43
|
+
files:
|
72
44
|
- lib/jefe/cli.rb
|
73
45
|
- lib/jefe/version.rb
|
74
46
|
- lib/jefe.rb
|
75
47
|
- bin/jefe
|
76
48
|
- README.md
|
77
|
-
has_rdoc: true
|
78
49
|
homepage: http://github.com/mikemaltese/jefe
|
79
50
|
licenses: []
|
80
|
-
|
81
51
|
post_install_message:
|
82
52
|
rdoc_options: []
|
83
|
-
|
84
|
-
require_paths:
|
53
|
+
require_paths:
|
85
54
|
- - lib
|
86
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
55
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
87
56
|
none: false
|
88
|
-
requirements:
|
89
|
-
- -
|
90
|
-
- !ruby/object:Gem::Version
|
91
|
-
|
92
|
-
|
93
|
-
- 0
|
94
|
-
version: "0"
|
95
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ! '>='
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
62
|
none: false
|
97
|
-
requirements:
|
98
|
-
- -
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
|
101
|
-
segments:
|
102
|
-
- 0
|
103
|
-
version: "0"
|
63
|
+
requirements:
|
64
|
+
- - ! '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
104
67
|
requirements: []
|
105
|
-
|
106
68
|
rubyforge_project:
|
107
|
-
rubygems_version: 1.
|
69
|
+
rubygems_version: 1.8.11
|
108
70
|
signing_key:
|
109
71
|
specification_version: 3
|
110
72
|
summary: The featherweight Procfile manager
|
111
73
|
test_files: []
|
112
|
-
|