nimbu 0.2.4 → 0.2.5

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