1
0
Fork 0
mirror of https://github.com/haml/haml.git synced 2022-11-09 12:33:31 -05:00
haml--haml/lib/haml/template.rb
2008-05-24 12:28:58 -07:00

51 lines
1.3 KiB
Ruby

require 'haml/engine'
module Haml
class Template
class << self
@@options = {}
# Gets various options for Haml. See README.rdoc for details.
def options
@@options
end
# Sets various options for Haml. See README.rdoc for details.
def options=(value)
@@options = value
end
end
end
end
# Decide how we want to load Haml into Rails.
# Patching was necessary for versions <= 2.0.1,
# but we can make it a normal handler for higher versions.
if defined?(ActionView::TemplateHandler)
require 'haml/template/plugin'
else
require 'haml/template/patch'
end
if defined?(RAILS_ROOT)
# Update init.rb to the current version
# if it's out of date.
#
# We can probably remove this as of v1.9,
# because the new init file is sufficiently flexible
# to not need updating.
rails_init_file = File.join(RAILS_ROOT, 'vendor', 'plugins', 'haml', 'init.rb')
haml_init_file = Haml.scope('init.rb')
begin
if File.exists?(rails_init_file)
require 'fileutils'
FileUtils.cp(haml_init_file, rails_init_file) unless FileUtils.cmp(rails_init_file, haml_init_file)
end
rescue SystemCallError
warn <<END
HAML WARNING:
#{rails_init_file} is out of date and couldn't be automatically updated.
Please run `haml --rails #{File.expand_path(RAILS_ROOT)}' to update it.
END
end
end