slinky 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
data/spec/slinky_spec.rb CHANGED
@@ -53,7 +53,7 @@ describe "Slinky" do
53
53
  end
54
54
 
55
55
  it "should produce the correct scripts string for devel" do
56
- @mdevel.scripts_string.should == '<script type="text/javascript" src="l1/test5.js"></script><script type="text/javascript" src="l1/l2/test6.js"></script><script type="text/javascript" src="l1/test2.js"></script><script type="text/javascript" src="l1/l2/test3.js"></script><script type="text/javascript" src="l1/test.js"></script>'
56
+ @mdevel.scripts_string.should == '<script type="text/javascript" src="/l1/test5.js"></script><script type="text/javascript" src="/l1/l2/test6.js"></script><script type="text/javascript" src="/l1/test2.js"></script><script type="text/javascript" src="/l1/l2/test3.js"></script><script type="text/javascript" src="/l1/test.js"></script>'
57
57
  end
58
58
 
59
59
  it "should produce the correct styles string for production" do
@@ -66,7 +66,7 @@ describe "Slinky" do
66
66
  f.write "require('../test.sass')\ncolor: red;"
67
67
  }
68
68
  manifest = Slinky::Manifest.new("/src", @config)
69
- @mdevel.styles_string.should == '<link rel="stylesheet" href="l1/test.css" /><link rel="stylesheet" href="l1/l2/test2.css" />'
69
+ @mdevel.styles_string.should == '<link rel="stylesheet" href="/l1/test.css" /><link rel="stylesheet" href="/l1/l2/test2.css" />'
70
70
  end
71
71
 
72
72
  it "should allow the creation of ManifestFiles" do
@@ -111,6 +111,13 @@ describe "Slinky" do
111
111
  FileUtils.rm_rf("/src/build") rescue nil
112
112
  end
113
113
 
114
+ it "should give the proper error message for compilers with unmet dependencies" do
115
+ File.open("/src/test.fake", "w+"){|f| f.write("hello, fake data")}
116
+ $stderr.should_receive(:puts).with(/Missing dependency/)
117
+ mf = Slinky::ManifestFile.new("/src/test.fake", "/src/build", @mprod)
118
+ build_path = mf.process
119
+ end
120
+
114
121
  it "should report errors for bad files" do
115
122
  File.open("/src/l1/l2/bad.sass", "w+"){|f|
116
123
  f.write "color: red;"
@@ -284,11 +291,12 @@ describe "Slinky" do
284
291
 
285
292
  it "should ignore the build directory" do
286
293
  $stdout.should_receive(:puts).with(/Compiled \/src\/.+/).exactly(6).times
287
- Slinky::Builder.build("/src", "/src/build", @config)
294
+ options = {:src_dir => "/src", :build_dir => "/src/build"}
295
+ Slinky::Builder.build(options, @config)
288
296
  File.exists?("/src/build/build").should_not == true
289
297
  File.exists?("/src/build/test.html").should == true
290
- Slinky::Builder.build("/src", "/src/build", @config)
291
- File.exists?("/src/build/build").should_not == true
298
+ Slinky::Builder.build(options, @config)
299
+ File.exists?("/src/build/build").should == false
292
300
  end
293
301
 
294
302
  it "should combine and compress javascript" do
@@ -306,7 +314,7 @@ describe "Slinky" do
306
314
  @mprod.build
307
315
  File.exists?("/build/styles.css").should == true
308
316
  File.size("/build/styles.css").should > 25
309
- File.read("/build/styles.css").match(/color:red/).should_not == nil
317
+ File.read("/build/styles.css").match(/color:\s*red/).should_not == nil
310
318
  File.exists?("/build/l1/test.css").should == false
311
319
  end
312
320
 
@@ -315,8 +323,8 @@ describe "Slinky" do
315
323
  @mprod.build
316
324
  css = File.read("/build/styles.css")
317
325
  css.include?("url('/l1/asdf.png')").should == true
318
- css.include?("url('l1/bg.png')").should == true
319
- css.include?("url('l1/l2/l3/hello.png')").should == true
326
+ css.include?("url('/l1/bg.png')").should == true
327
+ css.include?("url('/l1/l2/l3/hello.png')").should == true
320
328
  end
321
329
  end
322
330
 
@@ -325,6 +333,7 @@ describe "Slinky" do
325
333
  @resp = double("EventMachine::DelegatedHttpResponse")
326
334
  @resp.stub(:content=){|c| @content = c}
327
335
  @resp.stub(:content){ @content }
336
+ @mdevel = Slinky::Manifest.new("/src", @config)
328
337
  end
329
338
 
330
339
  it "path_for_uri should work correctly" do
@@ -362,11 +371,57 @@ describe "Slinky" do
362
371
  @resp.content.should == "File not found\n"
363
372
  end
364
373
 
374
+ it "should handle a global pushstate" do
375
+ config = <<eos
376
+ pushstate:
377
+ "/": "/test.html"
378
+ eos
379
+ File.open("/src/slinky.yaml", "w+"){|f| f.write config}
380
+ cr = Slinky::ConfigReader.from_file("/src/slinky.yaml")
381
+ Slinky::Server.config = cr
382
+ Slinky::Server.manifest = @mdevel
383
+ $stdout.should_receive(:puts).with("Compiled /src/test.haml".foreground(:green))
384
+ @resp.should_receive(:content_type).with("text/html").at_least(:once)
385
+ Slinky::Server.process_path @resp, "this/doesnt/exist.html"
386
+ @resp.content.include?("html").should == true
387
+ end
388
+
389
+ it "should not enter an infinite loop with a non-existant pushstate index" do
390
+ config = <<eos
391
+ pushstate:
392
+ "/": "/notreal.html"
393
+ eos
394
+ File.open("/src/slinky.yaml", "w+"){|f| f.write config}
395
+ cr = Slinky::ConfigReader.from_file("/src/slinky.yaml")
396
+ Slinky::Server.config = cr
397
+ Slinky::Server.manifest = @mdevel
398
+ @resp.should_receive(:status=).with(404)
399
+ @resp.should_receive(:content_type).with("text/html").at_least(:once)
400
+ Slinky::Server.process_path @resp, "this/doesnt/exist.html"
401
+ end
402
+
403
+ it "should choose the more specific pushstate path when conflicts are present" do
404
+ config = <<eos
405
+ pushstate:
406
+ "/": "/index.html"
407
+ "/hello": "/test.html"
408
+ eos
409
+ File.open("/src/slinky.yaml", "w+"){|f| f.write config}
410
+ File.open("/src/index.html", "w+"){|f| f.write("goodbye")}
411
+ cr = Slinky::ConfigReader.from_file("/src/slinky.yaml")
412
+ Slinky::Server.config = cr
413
+ manifest = Slinky::Manifest.new("/src", cr)
414
+ Slinky::Server.manifest = manifest
415
+ @resp.should_receive(:content_type).with("text/html").at_least(:once)
416
+ Slinky::Server.process_path @resp, "hello/doesnt/exist.html"
417
+ @resp.content.include?("goodbye").should == true
418
+ end
419
+
365
420
  it "should accept a port option" do
366
421
  port = 53455
367
422
  $stdout.should_receive(:puts).with(/Started static file server on port #{port}/)
368
423
  run_for 0.3 do
369
- Slinky::Runner.new(["start","--port", port.to_s]).run
424
+ Slinky::Runner.new(["start","--port", port.to_s, "--no-livereload"]).run
370
425
  end
371
426
  end
372
427
 
@@ -384,7 +439,7 @@ describe "Slinky" do
384
439
  eos
385
440
  }
386
441
  run_for 3 do
387
- Slinky::Runner.new(["start","--port", "43453", "--src-dir", "/src"]).run
442
+ Slinky::Runner.new(["start","--port", "43453", "--src-dir", "/src", "--no-livereload"]).run
388
443
  base = "http://localhost:43453"
389
444
  multi = EventMachine::MultiRequest.new
390
445
  $stdout.should_receive(:puts).with(/Compiled \/src\/index.haml/)
@@ -411,7 +466,8 @@ eos
411
466
  end
412
467
  it "should build manifest to build directory" do
413
468
  $stdout.should_receive(:puts).with(/Compiled \/src\/.+/).exactly(3).times
414
- Slinky::Builder.build("/src", "/build", @config)
469
+ options = {:src_dir => "/src", :build_dir => "/build"}
470
+ Slinky::Builder.build(options, @config)
415
471
  File.exists?("/build").should == true
416
472
  File.exists?("/build/scripts.js").should == true
417
473
  File.exists?("/build/l1/l2/test.txt").should == true
@@ -427,6 +483,16 @@ proxy:
427
483
  ignore:
428
484
  - script/vendor
429
485
  - script/jquery.js
486
+ port: 5555
487
+ src_dir: "src/"
488
+ build_dir: "build/"
489
+ no_proxy: true
490
+ no_livereload: true
491
+ livereload_port: 5556
492
+ dont_minify: true
493
+ pushstate:
494
+ "/app1": "/index.html"
495
+ "/app2": "/index2.html"
430
496
  eos
431
497
  File.open("/src/slinky.yaml", "w+"){|f| f.write @config}
432
498
  @proxies = {
@@ -434,6 +500,10 @@ eos
434
500
  "/test2" => "http://127.0.0.1:7000"
435
501
  }
436
502
  @ignores = ["script/vendor", "script/jquery.js"]
503
+ @pushstates = {
504
+ "/app1" => "/index.html",
505
+ "/app2" => "/index2.html"
506
+ }
437
507
  end
438
508
 
439
509
  it "should be able to read configuration from strings" do
@@ -446,6 +516,14 @@ eos
446
516
  cr = Slinky::ConfigReader.from_file("/src/slinky.yaml")
447
517
  cr.proxies.should == @proxies
448
518
  cr.ignores.should == @ignores
519
+ cr.port.should == 5555
520
+ cr.src_dir.should == "src/"
521
+ cr.build_dir.should == "build/"
522
+ cr.no_proxy.should == true
523
+ cr.no_livereload.should == true
524
+ cr.livereload_port.should == 5556
525
+ cr.dont_minify.should == true
526
+ cr.pushstates.should == @pushstates
449
527
  end
450
528
 
451
529
  it "should be able to create the empty config" do
@@ -528,5 +606,6 @@ eos
528
606
  @proxies[0][1].to_s.should == "http://127.0.0.1:6000"
529
607
  @proxies[0][2].should == {"lag" => 1000}
530
608
  end
609
+
531
610
  end
532
611
  end
data/spec/spec_helper.rb CHANGED
@@ -31,6 +31,7 @@ module FakeFS
31
31
  end
32
32
 
33
33
  module Slinky
34
+ # The coffee script compiler doesn't work under FakeFS
34
35
  module CoffeeCompiler
35
36
  def CoffeeCompiler::compile s, file
36
37
  FakeFS.deactivate!
@@ -40,10 +41,30 @@ module Slinky
40
41
  end
41
42
  end
42
43
 
44
+ # This is necessary because require doesn't work with FakeFS
45
+ class Compilers
46
+ class << self
47
+ alias :get_old_cfile :get_cfile
48
+ def get_cfile *args
49
+ FakeFS.deactivate!
50
+ cfile = get_old_cfile *args
51
+ FakeFS.activate!
52
+ cfile
53
+ end
54
+ end
55
+ end
56
+
43
57
  # No way to make this work with FakeFS, so just disabled it
44
58
  class Listener
45
59
  def run; end
46
60
  end
61
+
62
+ module FakeCompiler
63
+ Compilers.register_compiler self,
64
+ :inputs => ["fake"],
65
+ :outputs =>["real"],
66
+ :dependencies => [["nonexistant_gem", ">= 9.9.9"]]
67
+ end
47
68
  end
48
69
 
49
70
  RSpec.configure do |config|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slinky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
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-06-19 00:00:00.000000000 Z
12
+ date: 2012-12-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: eventmachine
16
- requirement: &70362415712140 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 0.12.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70362415712140
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.12.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: eventmachine_httpserver
27
- requirement: &70362415725440 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,31 @@ dependencies:
32
37
  version: 0.2.0
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70362415725440
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 0.2.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: em-websocket
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.3.8
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.3.8
36
62
  - !ruby/object:Gem::Dependency
37
63
  name: em-proxy
38
- requirement: &70362415723240 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
39
65
  none: false
40
66
  requirements:
41
67
  - - ! '>='
@@ -43,10 +69,15 @@ dependencies:
43
69
  version: 0.1.6
44
70
  type: :runtime
45
71
  prerelease: false
46
- version_requirements: *70362415723240
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.1.6
47
78
  - !ruby/object:Gem::Dependency
48
79
  name: rainbow
49
- requirement: &70362415720620 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
50
81
  none: false
51
82
  requirements:
52
83
  - - ! '>='
@@ -54,76 +85,111 @@ dependencies:
54
85
  version: 1.1.3
55
86
  type: :runtime
56
87
  prerelease: false
57
- version_requirements: *70362415720620
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: 1.1.3
58
94
  - !ruby/object:Gem::Dependency
59
- name: haml
60
- requirement: &70362415744280 !ruby/object:Gem::Requirement
95
+ name: mime-types
96
+ requirement: !ruby/object:Gem::Requirement
61
97
  none: false
62
98
  requirements:
63
99
  - - ! '>='
64
100
  - !ruby/object:Gem::Version
65
- version: 3.0.0
101
+ version: '1.16'
66
102
  type: :runtime
67
103
  prerelease: false
68
- version_requirements: *70362415744280
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '1.16'
69
110
  - !ruby/object:Gem::Dependency
70
- name: sass
71
- requirement: &70362415742500 !ruby/object:Gem::Requirement
111
+ name: yui-compressor
112
+ requirement: !ruby/object:Gem::Requirement
72
113
  none: false
73
114
  requirements:
74
115
  - - ! '>='
75
116
  - !ruby/object:Gem::Version
76
- version: 3.1.1
117
+ version: 0.9.6
77
118
  type: :runtime
78
119
  prerelease: false
79
- version_requirements: *70362415742500
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: 0.9.6
80
126
  - !ruby/object:Gem::Dependency
81
- name: coffee-script
82
- requirement: &70362415739720 !ruby/object:Gem::Requirement
127
+ name: listen
128
+ requirement: !ruby/object:Gem::Requirement
83
129
  none: false
84
130
  requirements:
85
131
  - - ! '>='
86
132
  - !ruby/object:Gem::Version
87
- version: 2.2.0
133
+ version: 0.4.5
88
134
  type: :runtime
89
135
  prerelease: false
90
- version_requirements: *70362415739720
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: 0.4.5
91
142
  - !ruby/object:Gem::Dependency
92
- name: mime-types
93
- requirement: &70362415751120 !ruby/object:Gem::Requirement
143
+ name: haml
144
+ requirement: !ruby/object:Gem::Requirement
94
145
  none: false
95
146
  requirements:
96
147
  - - ! '>='
97
148
  - !ruby/object:Gem::Version
98
- version: '1.16'
149
+ version: 3.0.0
99
150
  type: :runtime
100
151
  prerelease: false
101
- version_requirements: *70362415751120
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: 3.0.0
102
158
  - !ruby/object:Gem::Dependency
103
- name: yui-compressor
104
- requirement: &70362415759760 !ruby/object:Gem::Requirement
159
+ name: sass
160
+ requirement: !ruby/object:Gem::Requirement
105
161
  none: false
106
162
  requirements:
107
163
  - - ! '>='
108
164
  - !ruby/object:Gem::Version
109
- version: 0.9.6
165
+ version: 3.1.1
110
166
  type: :runtime
111
167
  prerelease: false
112
- version_requirements: *70362415759760
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: 3.1.1
113
174
  - !ruby/object:Gem::Dependency
114
- name: listen
115
- requirement: &70362415757320 !ruby/object:Gem::Requirement
175
+ name: coffee-script
176
+ requirement: !ruby/object:Gem::Requirement
116
177
  none: false
117
178
  requirements:
118
179
  - - ! '>='
119
180
  - !ruby/object:Gem::Version
120
- version: 0.4.5
181
+ version: 2.2.0
121
182
  type: :runtime
122
183
  prerelease: false
123
- version_requirements: *70362415757320
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: 2.2.0
124
190
  - !ruby/object:Gem::Dependency
125
191
  name: rspec
126
- requirement: &70362415755100 !ruby/object:Gem::Requirement
192
+ requirement: !ruby/object:Gem::Requirement
127
193
  none: false
128
194
  requirements:
129
195
  - - ~>
@@ -131,10 +197,15 @@ dependencies:
131
197
  version: 2.10.0
132
198
  type: :development
133
199
  prerelease: false
134
- version_requirements: *70362415755100
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ~>
204
+ - !ruby/object:Gem::Version
205
+ version: 2.10.0
135
206
  - !ruby/object:Gem::Dependency
136
207
  name: yard
137
- requirement: &70362415752880 !ruby/object:Gem::Requirement
208
+ requirement: !ruby/object:Gem::Requirement
138
209
  none: false
139
210
  requirements:
140
211
  - - ~>
@@ -142,21 +213,31 @@ dependencies:
142
213
  version: 0.6.0
143
214
  type: :development
144
215
  prerelease: false
145
- version_requirements: *70362415752880
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ~>
220
+ - !ruby/object:Gem::Version
221
+ version: 0.6.0
146
222
  - !ruby/object:Gem::Dependency
147
223
  name: bundler
148
- requirement: &70362415767840 !ruby/object:Gem::Requirement
224
+ requirement: !ruby/object:Gem::Requirement
149
225
  none: false
150
226
  requirements:
151
- - - ~>
227
+ - - ! '>='
152
228
  - !ruby/object:Gem::Version
153
229
  version: 1.1.0
154
230
  type: :development
155
231
  prerelease: false
156
- version_requirements: *70362415767840
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: 1.1.0
157
238
  - !ruby/object:Gem::Dependency
158
239
  name: jeweler
159
- requirement: &70362415765060 !ruby/object:Gem::Requirement
240
+ requirement: !ruby/object:Gem::Requirement
160
241
  none: false
161
242
  requirements:
162
243
  - - ~>
@@ -164,21 +245,15 @@ dependencies:
164
245
  version: 1.8.0
165
246
  type: :development
166
247
  prerelease: false
167
- version_requirements: *70362415765060
168
- - !ruby/object:Gem::Dependency
169
- name: cover_me
170
- requirement: &70362415763620 !ruby/object:Gem::Requirement
248
+ version_requirements: !ruby/object:Gem::Requirement
171
249
  none: false
172
250
  requirements:
173
- - - ! '>='
251
+ - - ~>
174
252
  - !ruby/object:Gem::Version
175
- version: 1.0.0.rc6
176
- type: :development
177
- prerelease: false
178
- version_requirements: *70362415763620
253
+ version: 1.8.0
179
254
  - !ruby/object:Gem::Dependency
180
255
  name: fakefs
181
- requirement: &70362415761540 !ruby/object:Gem::Requirement
256
+ requirement: !ruby/object:Gem::Requirement
182
257
  none: false
183
258
  requirements:
184
259
  - - ~>
@@ -186,10 +261,15 @@ dependencies:
186
261
  version: 0.4.0
187
262
  type: :development
188
263
  prerelease: false
189
- version_requirements: *70362415761540
264
+ version_requirements: !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ~>
268
+ - !ruby/object:Gem::Version
269
+ version: 0.4.0
190
270
  - !ruby/object:Gem::Dependency
191
271
  name: em-http-request
192
- requirement: &70362415775780 !ruby/object:Gem::Requirement
272
+ requirement: !ruby/object:Gem::Requirement
193
273
  none: false
194
274
  requirements:
195
275
  - - ~>
@@ -197,7 +277,12 @@ dependencies:
197
277
  version: 1.0.0
198
278
  type: :development
199
279
  prerelease: false
200
- version_requirements: *70362415775780
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ none: false
282
+ requirements:
283
+ - - ~>
284
+ - !ruby/object:Gem::Version
285
+ version: 1.0.0
201
286
  description: A static file server for rich web apps that automatically compiles SASS,
202
287
  HAML, CoffeeScript and more
203
288
  email: micah@micahw.com
@@ -221,13 +306,15 @@ files:
221
306
  - lib/slinky/builder.rb
222
307
  - lib/slinky/compiled_file.rb
223
308
  - lib/slinky/compilers.rb
309
+ - lib/slinky/compilers/clojurescript-compiler.rb
224
310
  - lib/slinky/compilers/coffee-compiler.rb
225
- - lib/slinky/compilers/coffee-helper
226
311
  - lib/slinky/compilers/haml-compiler.rb
312
+ - lib/slinky/compilers/less-compiler.rb
227
313
  - lib/slinky/compilers/sass-compiler.rb
228
314
  - lib/slinky/config_reader.rb
229
315
  - lib/slinky/em-popen3.rb
230
316
  - lib/slinky/listener.rb
317
+ - lib/slinky/live_reload.rb
231
318
  - lib/slinky/manifest.rb
232
319
  - lib/slinky/proxy_server.rb
233
320
  - lib/slinky/runner.rb
@@ -250,7 +337,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
250
337
  version: '0'
251
338
  segments:
252
339
  - 0
253
- hash: -1657614552858671315
340
+ hash: 4080873917067961416
254
341
  required_rubygems_version: !ruby/object:Gem::Requirement
255
342
  none: false
256
343
  requirements:
@@ -259,7 +346,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
259
346
  version: '0'
260
347
  requirements: []
261
348
  rubyforge_project:
262
- rubygems_version: 1.8.10
349
+ rubygems_version: 1.8.24
263
350
  signing_key:
264
351
  specification_version: 3
265
352
  summary: Static file server for javascript apps
@@ -1,3 +0,0 @@
1
- #!/bin/bash
2
-
3
- coffee --compile --print $1 > $2