serve 0.10.0 → 0.10.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.10.1
2
+
3
+ * Add handling for .SCSS files with HAML/SASS 3.0 [nathany]
4
+
1
5
  == 0.10.0
2
6
 
3
7
  * Added additional view helper methods and harmonized the API a bit [aiwilliams]
data/QUICKSTART.rdoc CHANGED
@@ -16,7 +16,7 @@ To get started we need to download and install the Ruby gem for Serve:
16
16
 
17
17
  After we've done that it's probably a good idea to install a couple of additional gems so that Serve will play nicely with HAML, Markdown, and Textile:
18
18
 
19
- $ sudo gem install haml Bluecloth Redcloth
19
+ $ sudo gem install haml BlueCloth RedCloth
20
20
 
21
21
 
22
22
  == Project Directory Structure
data/README.rdoc CHANGED
@@ -55,6 +55,7 @@ markdown :: Evaluates the document as Markdown (requires the Bluecloth gem)
55
55
  erb :: Experimental support for ERB
56
56
  haml :: Evaluates the document as Haml (requires the Haml gem)
57
57
  sass :: Evaluates the document as Sass (requires the Haml gem)
58
+ scss :: Evaluates the document as Scss (requires the Haml gem)
58
59
  email :: Evaluates the document as if it is an e-mail message; the format is identical to a plain/text e-mail message's source
59
60
  redirect :: Redirects to the URL contained in the document
60
61
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.10.0
1
+ 0.10.1
@@ -12,9 +12,11 @@ module Serve
12
12
  path = File.join(path) # path may be array
13
13
  return nil if path =~ /\.\./
14
14
  path = path.sub(%r{/\Z}, '')
15
- if path =~ /\.css\Z/ && !File.file?(File.join(root, path))
16
- sass_path = path.sub(/\.css\Z/, '.sass')
17
- sass_path if File.file?(File.join(root, sass_path))
15
+ if path =~ /\.css\Z/ && !File.file?(File.join(root, path)) # if .css not found, try .scss, .sass:
16
+ alternates = %w{.scss .sass}.map { |ext| path.sub(/\.css\Z/, ext) }
17
+ sass_path = alternates.find do |p|
18
+ File.file?(File.join(root, p))
19
+ end
18
20
  elsif File.directory?(File.join(root, path))
19
21
  resolve(root, File.join(path, 'index'))
20
22
  else
@@ -1,17 +1,27 @@
1
1
  module Serve #:nodoc:
2
2
  class SassHandler < FileTypeHandler #:nodoc:
3
- extension 'sass'
3
+ extension 'sass', 'scss'
4
4
 
5
5
  def parse(string)
6
6
  require 'sass'
7
7
  engine = Sass::Engine.new(string,
8
8
  :load_paths => [@root_path],
9
9
  :style => :expanded,
10
- :filename => @script_filename
10
+ :filename => @script_filename,
11
+ :syntax => syntax(@script_filename)
11
12
  )
12
13
  engine.render
13
14
  end
14
15
 
16
+ def syntax(filename)
17
+ ext = File.extname(@script_filename)
18
+ if ext == '.scss'
19
+ :scss
20
+ else
21
+ :sass
22
+ end
23
+ end
24
+
15
25
  def content_type
16
26
  'text/css'
17
27
  end
data/spec/serve_spec.rb CHANGED
@@ -4,7 +4,7 @@ describe "Serve" do
4
4
 
5
5
  it "should register all of the file type handlers" do
6
6
  Serve::WEBrick::Server.register_handlers
7
- handlers = ["cgi", "email", "erb", "haml", "html.erb", "html.haml", "markdown", "redirect", "rhtml", "sass", "textile"]
7
+ handlers = ["cgi", "email", "erb", "haml", "html.erb", "html.haml", "markdown", "redirect", "rhtml", "sass", "scss", "textile"]
8
8
  table = WEBrick::HTTPServlet::FileHandler::HandlerTable
9
9
  table.keys.sort.should == handlers
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serve
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - John W. Long
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-12-28 00:00:00 -05:00
13
+ date: 2010-05-13 00:00:00 -04:00
14
14
  default_executable: serve
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency