Sha256: 1cffba8451eb6bbd0dee0c06eff35930eb24187c2f5778e40533fd656887cf25

Contents?: true

Size: 1.04 KB

Versions: 34

Compression:

Stored size: 1.04 KB

Contents

require 'gettext/utils'
begin
  require 'gettext/tools/rgettext'
rescue LoadError #version prior to 2.0
  require 'gettext/rgettext'
end

module GettextI18nRails
  module HamlParser
    module_function

    def target?(file)
      File.extname(file) == '.haml'
    end

    def parse(file, msgids = [])
      return msgids unless load_haml
      require 'gettext_i18n_rails/ruby_gettext_extractor'

      text = IO.readlines(file).join

      haml = Haml::Engine.new(text)
      code = haml.precompiled
      return RubyGettextExtractor.parse_string(code, file, msgids)
    end

    def load_haml
      return true if @haml_loaded
      begin
        require "#{::Rails.root.to_s}/vendor/plugins/haml/lib/haml"
      rescue LoadError
        begin
          require 'haml'  # From gem
        rescue LoadError
          puts "A haml file was found, but haml library could not be found, so nothing will be parsed..."
          return false
        end
      end
      @haml_loaded = true
    end
  end
end
GetText::RGetText.add_parser(GettextI18nRails::HamlParser)

Version data entries

34 entries across 34 versions & 2 rubygems

Version Path
zena-1.2.8 vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb
zena-1.2.7 vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb
zena-1.2.6 vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb
zena-1.2.5 vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb
zena-1.2.4 vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb
zena-1.2.3 vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb
zena-1.2.2 vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb
zena-1.2.1 vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb
zena-1.2.0 vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb
gettext_i18n_rails-0.4.0 lib/gettext_i18n_rails/haml_parser.rb
gettext_i18n_rails-0.3.6 lib/gettext_i18n_rails/haml_parser.rb
gettext_i18n_rails-0.3.5 lib/gettext_i18n_rails/haml_parser.rb
gettext_i18n_rails-0.3.4 lib/gettext_i18n_rails/haml_parser.rb
gettext_i18n_rails-0.3.3 lib/gettext_i18n_rails/haml_parser.rb
gettext_i18n_rails-0.3.2 lib/gettext_i18n_rails/haml_parser.rb
gettext_i18n_rails-0.3.1 lib/gettext_i18n_rails/haml_parser.rb
zena-1.1.3 vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb
zena-1.1.2 vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb
gettext_i18n_rails-0.3.0 lib/gettext_i18n_rails/haml_parser.rb
zena-1.1.1 vendor/plugins/gettext_i18n_rails/lib/gettext_i18n_rails/haml_parser.rb