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.
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
-