1
0
Fork 0
mirror of https://github.com/haml/haml.git synced 2022-11-09 12:33:31 -05:00
haml--haml/lib/hamlit/parser.rb
2015-11-22 02:03:32 +09:00

33 lines
822 B
Ruby

# Hamlit::Parser uses original Haml::Parser to generate Haml AST.
# hamlit/parser/haml_* are modules originally in haml gem.
require 'hamlit/parser/haml_error'
require 'hamlit/parser/haml_util'
require 'hamlit/parser/haml_buffer'
require 'hamlit/parser/haml_compiler'
require 'hamlit/parser/haml_parser'
require 'hamlit/parser/haml_helpers'
require 'hamlit/parser/haml_options'
module Hamlit
class Parser
AVAILABLE_OPTIONS = %i[
autoclose
escape_html
escape_attrs
].freeze
def initialize(options = {})
@options = HamlOptions.defaults.dup
AVAILABLE_OPTIONS.each do |key|
@options[key] = options[key]
end
end
def call(template)
HamlParser.new(template, HamlOptions.new(@options)).parse
rescue ::Hamlit::HamlError => e
e
end
end
end