class GetTextHaml::Parser
Public Class Methods
init(config)
click to toggle source
Sets some preferences to parse Haml files.
-
config: a Hash of the config. It can takes some values below:
-
:extnames: An Array of target files extension. Default is [“.haml”].
-
# File lib/gettext-haml/parser.rb, line 29 def init(config) config.each do |key, value| @config[key] = value end end
new(path, options={})
click to toggle source
@param path [String] Haml file path to be parsed @param options [Hash]
# File lib/gettext-haml/parser.rb, line 57 def initialize(path, options={}) @path = path @options = options end
parse(path, options={})
click to toggle source
Parses Haml file located at `path`.
This is a short cut method. It equals to `new(path, options).parse`.
@return [Array<POEntry>] Extracted messages @see initialize and parse
# File lib/gettext-haml/parser.rb, line 49 def parse(path, options={}) parser = new(path, options) parser.parse end
Public Instance Methods
parse()
click to toggle source
Extracts messages from @path.
@return [Array<POEntry>] Extracted messages
# File lib/gettext-haml/parser.rb, line 65 def parse content = IO.read(@path) source = Haml::Engine.new(content).precompiled encoding = detect_encoding(source) || content.encoding source.force_encoding(encoding) ruby_parser = GetText::RubyParser.new(@path, @options) ruby_parser.parse_source(source) end
Private Instance Methods
detect_encoding(erb_source)
click to toggle source
# File lib/gettext-haml/parser.rb, line 77 def detect_encoding(erb_source) if /\A#coding:(.*)\n/ =~ erb_source $1 else nil end end