summaryrefslogtreecommitdiff
path: root/rake_helpers/ca.rb
blob: ba6fe1e4ccca0d36e0c41da0a2f497091b1b8162 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!c:/ruby/bin/rubyw
# Hy-Ca 0.2 by murphy

module Hy
  def self.ca str
    str.gsub! %r-^(\s*)(?://)(.*)?-, '\1/*\2*/'
    str.gsub! %r-\s*/\*.*?\*/\n?-m, ''
    str.gsub!(/<<(.*?)>>/m) do
      begin
        eval $1
        ''
      rescue Exception => boom
        "<<\n#{boom}\n>>"
      end
    end
    
    str.gsub!(/\$([\w_]+)/m) do
      begin
        eval $1
      rescue
        ''
      end
    end

    str
  end
end

begin
  if file = ENV['PATH_TRANSLATED']
    puts "Content-Type: text/css"
    puts
    ca = File.read file
  else
    ca = ARGF.read
  end
  print Hy.ca(ca)
rescue => boom
  p boom
end if __FILE__ == $0