backtik-red-herring 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,6 +11,3 @@ bin/herring
11
11
  lib/herring.rb
12
12
  lib/herring/herring_rack.rb
13
13
  red-herring.gemspec
14
- script/console
15
- script/destroy
16
- script/generate
@@ -1,4 +1,10 @@
1
1
  require 'herring'
2
2
 
3
+ Rack::Herring::HerringRoot = File.dirname(__FILE__)
4
+ BANNER = <<END
5
+ ********* Loaded **********
6
+ Running Red v#{Red::VERSION} on Red Herring v#{Herring::VERSION} in debug mode.
7
+ END
3
8
  use Rack::ShowExceptions
4
9
  run Rack::Herring.new
10
+ puts BANNER
@@ -1,5 +1,5 @@
1
1
  module Herring
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.5'
3
3
  end
4
4
 
5
5
  $:.unshift(File.join(File.dirname(__FILE__), 'herring'))
@@ -1,6 +1,7 @@
1
1
  require 'rack/request'
2
2
  require 'rack/response'
3
3
  require 'rubygems' rescue nil
4
+ require 'haml' rescue nil
4
5
  require 'sass' rescue nil
5
6
  require 'red'
6
7
  require 'red/executable'
@@ -11,18 +12,23 @@ include Red
11
12
 
12
13
  module Rack
13
14
  class Herring
14
- HerringRoot = ::File.join(::File.dirname(__FILE__),'..')
15
15
  def call(env)
16
- req = Request.new(env)
17
- Red.init(::File.join(HerringRoot,req.path_info))
18
-
16
+ req = Request.new(env)
19
17
  data, headers = case ::File.extname(req.path_info)
20
18
  when '.ajax'
21
19
  update_page(req.POST['red']) if req.post?
22
20
  when '.red'
23
- [translate_to_string_including_ruby(::File.read("#{HerringRoot}#{req.path_info}")), {"Content-Type" => "text/js"}]
21
+ Red.init(::File.join(HerringRoot,req.path_info))
22
+ translated_ruby = translate_to_string_including_ruby(::File.read("#{HerringRoot}#{req.path_info}"))
23
+ [translated_ruby, {"Content-Type" => "text/js"}]
24
24
  when '.html'
25
25
  [::File.read("#{HerringRoot}#{req.path_info}"), {"Content-Type" => "text/html"}]
26
+ when /\.(haml|html)/
27
+ if req.path_info =~ /\.haml(\.html)?$/
28
+ [Haml::Engine.new(::File.read("#{HerringRoot}#{req.path_info}")).to_html, {"Content-Type" => "text/html"}]
29
+ else
30
+ [::File.read("#{HerringRoot}#{req.path_info}"), {"Content-Type" => "text/html"}]
31
+ end
26
32
  when '.js'
27
33
  [::File.read("#{HerringRoot}#{req.path_info}"), {"Content-Type" => "text/javascript"}]
28
34
  when '.css'
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = %q{red-herring}
3
- s.version = "0.0.3"
3
+ s.version = "0.0.5"
4
4
 
5
5
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
6
  s.authors = ["Trek Glowacki"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backtik-red-herring
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Trek Glowacki