Sha256: 772d4197e1f6772c6afc8840634930dc6829eb70802f026705ad4a8df6e6ded2
Contents?: true
Size: 1.02 KB
Versions: 3
Compression:
Stored size: 1.02 KB
Contents
module Rail module Processor class Haml < Base def self.input_extension 'haml' end def self.output_extension 'html' end def self.mime_type 'text/html' end def compile(filename, options = {}, &block) options = { filename: filename, line: 1, ugly: compress? }.merge(options) engine = ::Haml::Engine.new(File.read(filename), options) layout_filename = find_layout(filename) if layout_filename compile(layout_filename, options) do engine.render(options[:context], {}, &block) end else engine.render(options[:context], {}, &block) end end private def find_layout(filename) asset = "layouts/#{filename.split('/')[-2]}" ["#{asset}.haml", "#{asset}.html.haml"].each do |asset| filename = pipeline.find(asset) return filename if filename end nil end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rail-0.1.1 | lib/rail/processor/haml.rb |
rail-0.1.0 | lib/rail/processor/haml.rb |
rail-0.0.8 | lib/rail/processor/haml.rb |