backtik-red-herring 0.0.3 → 0.0.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.
@@ -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