nimbu 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -157,7 +157,7 @@ module Nimbu
157
157
  rescue OptionParser::ParseError => ex
158
158
  commands[cmd] ? run("help", [cmd]) : run("help")
159
159
  rescue Interrupt => e
160
- error "\n[canceled]"
160
+ error "\n[exited]"
161
161
  end
162
162
 
163
163
  def self.parse(cmd)
@@ -3,6 +3,7 @@ require "nimbu/server/base"
3
3
  require 'term/ansicolor'
4
4
  require 'compass'
5
5
  require 'compass/exec'
6
+ require 'thin'
6
7
 
7
8
  # running a local server to speed up designing Nimbu themes
8
9
  #
@@ -17,23 +18,71 @@ class Nimbu::Command::Server < Nimbu::Command::Base
17
18
  if !Nimbu::Auth.read_configuration && !Nimbu::Auth.read_credentials
18
19
  print red(bold("ERROR")), ": this directory does not seem to contain any Nimbu theme or your credentials are not set. \n ==> Run \"", bold { "nimbu init"}, "\" to initialize this directory."
19
20
  else
20
- server_pid = fork do
21
- puts "Starting the server..."
22
- Nimbu::Server::Base.run!
21
+ puts white("\nStarting up Nimbu Server + Compass + HAML compiler...")
22
+ puts green(
23
+ " _ ___ __ \n" +
24
+ " / | / (_)____ ___ / /_ __ __\n" +
25
+ " / |/ / // __ `__ \\/ __ \\/ / / /\n" +
26
+ " / /| / // / / / / / /_/ / /_/ / \n" +
27
+ " /_/ |_/_//_/ /_/ /_/_.___/\\__,_/ \n")
28
+
29
+ rd1, wr1 = IO::pipe
30
+ rd2, wr2 = IO::pipe
31
+ rd3, wr3 = IO::pipe
32
+
33
+ server_pid = Process.fork do
34
+ $stdout.reopen(wr1)
35
+ rd1.close
36
+ puts "Starting..."
37
+ options = {
38
+ :Port => 4567,
39
+ :DocumentRoot => Dir.pwd
40
+ }
41
+ Rack::Handler::Thin.run Nimbu::Server::Base, options do |server|
42
+ [:INT, :TERM].each { |sig| trap(sig) { server.respond_to?(:stop!) ? server.stop! : server.stop } }
43
+ end
23
44
  end
24
- haml_pid = fork do
25
- puts "Watching haml files..."
45
+ haml_pid = Process.fork do
46
+ $stdout.reopen(wr2)
47
+ rd2.close
48
+ puts "Starting..."
26
49
  HamlWatcher.watch
27
50
  end
28
- compass_pid = fork do
29
- puts "Watching compass files..."
51
+ compass_pid = Process.fork do
52
+ $stdout.reopen(wr3)
53
+ rd3.close
54
+ puts "Starting..."
30
55
  Compass::Exec::SubCommandUI.new(["watch","."]).run!
31
56
  end
57
+ watch_server_pid = Process.fork do
58
+ trap('INT') { exit }
59
+ wr1.close
60
+ rd1.each do |line|
61
+ print cyan("SERVER: ") + white(line) + ""
62
+ end
63
+ end
64
+ watch_haml_pid = Process.fork do
65
+ trap('INT') { exit }
66
+ wr2.close
67
+ rd2.each do |line|
68
+ print magenta("HAML: ") + white(line) + ""
69
+ end
70
+ end
71
+ watch_compass_pid = Process.fork do
72
+ trap('INT') { exit }
73
+ wr3.close
74
+ rd3.each do |line|
75
+ print yellow("COMPASS: ") + white(line) + ""
76
+ end
77
+ end
78
+
79
+ [:INT, :TERM].each do |sig|
80
+ trap(sig) do
81
+ puts green("\n\n== Nimbu has ended its work " + bold("(crowd applauds!)\n"))
82
+ end
83
+ end
32
84
 
33
- Process.wait(server_pid)
34
- Process.wait(haml_pid)
35
- Process.wait(compass_pid)
36
-
85
+ Process.waitall
37
86
  end
38
87
  end
39
88
  end
@@ -48,7 +97,7 @@ class HamlWatcher
48
97
 
49
98
  def watch
50
99
  refresh
51
- puts ">>> HamlWatcher is watching for changes. Press Ctrl-C to Stop."
100
+ puts ">>> Haml is polling for changes. Press Ctrl-C to Stop."
52
101
  FSSM.monitor('haml', '**/*.haml') do
53
102
  update do |base, relative|
54
103
  puts ">>> Change detected to: #{relative}"
@@ -1,3 +1,3 @@
1
1
  module Nimbu
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nimbu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-07 00:00:00.000000000 Z
12
+ date: 2012-03-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: term-ansicolor
16
- requirement: &70348632583180 !ruby/object:Gem::Requirement
16
+ requirement: &70338780900920 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.0.5
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70348632583180
24
+ version_requirements: *70338780900920
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rest-client
27
- requirement: &70348632597260 !ruby/object:Gem::Requirement
27
+ requirement: &70338780899720 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.6.1
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70348632597260
35
+ version_requirements: *70338780899720
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: launchy
38
- requirement: &70348632596100 !ruby/object:Gem::Requirement
38
+ requirement: &70338780898680 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.3.2
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70348632596100
46
+ version_requirements: *70338780898680
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rubyzip
49
- requirement: &70348632593760 !ruby/object:Gem::Requirement
49
+ requirement: &70338780897660 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70348632593760
57
+ version_requirements: *70338780897660
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: sinatra
60
- requirement: &70348632605460 !ruby/object:Gem::Requirement
60
+ requirement: &70338780896020 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70348632605460
68
+ version_requirements: *70338780896020
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sinatra-contrib
71
- requirement: &70348632604380 !ruby/object:Gem::Requirement
71
+ requirement: &70338780895260 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70348632604380
79
+ version_requirements: *70338780895260
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: compass
82
- requirement: &70348632603440 !ruby/object:Gem::Requirement
82
+ requirement: &70338780894260 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *70348632603440
90
+ version_requirements: *70338780894260
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: haml
93
- requirement: &70348632601780 !ruby/object:Gem::Requirement
93
+ requirement: &70338780893000 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *70348632601780
101
+ version_requirements: *70338780893000
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: fssm
104
- requirement: &70348632600000 !ruby/object:Gem::Requirement
104
+ requirement: &70338780891960 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,7 +109,18 @@ dependencies:
109
109
  version: '0'
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *70348632600000
112
+ version_requirements: *70338780891960
113
+ - !ruby/object:Gem::Dependency
114
+ name: thin
115
+ requirement: &70338780890400 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: *70338780890400
113
124
  description: Client library and command-line tool to design and manage websites on
114
125
  the Nimbu platform.
115
126
  email: