jefe 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/README.md +3 -1
  2. data/lib/jefe/version.rb +1 -1
  3. data/lib/jefe.rb +19 -5
  4. metadata +37 -76
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
- # [Gaffer](http://en.wikipedia.org/wiki/Gaffer_(boss)), the featherweight Procfile manager
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.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 = Term::ANSIColor
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
- @colors[type] = COLORS.shift.tap {|c| COLORS.push c} unless @colors[type]
58
- color = @colors[type]
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
- hash: 23
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
- date: 2012-01-14 00:00:00 -08:00
19
- default_executable:
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
- prerelease: false
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
- hash: 3
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
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
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
- prerelease: false
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
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
61
33
  type: :runtime
62
- version_requirements: *id003
63
- description: Through the magic of Thor and EventMachine, we give you the equivalent to Foreman in just 200 lines of sweet unadulterated Ruby.
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
- hash: 3
92
- segments:
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
- hash: 3
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.3.9.3
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
-