Sha256: 5cde75eb73b762dd1df6d3a65675cf0b3c0d0a33afd29374cb66c291271801a5

Contents?: true

Size: 923 Bytes

Versions: 5

Compression:

Stored size: 923 Bytes

Contents

require 'gettext_i18n_rails/gettext_hooks'

module GettextI18nRails
  class BaseParser
    def self.target?(file)
      File.extname(file) == ".#{extension}"
    end

    def self.parse(file, msgids = [])
      return msgids unless load_library
      code = convert_to_code(File.read(file))
      RubyGettextExtractor.parse_string(code, file, msgids)
    rescue Racc::ParseError => e
      $stderr.puts "file ignored: ruby_parser cannot read #{extension} files with 1.9 syntax --- #{file}: (#{e.message.strip})"
      return msgids
    end

    def self.load_library
      return true if @library_loaded

      begin
        require extension
      rescue LoadError
        puts "A #{extension} file was found, but #{extension} library could not be found, so nothing will be parsed..."
        return false
      end

      require 'gettext_i18n_rails/ruby_gettext_extractor'
      @library_loaded = true
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gettext_i18n_rails-1.2.3 lib/gettext_i18n_rails/base_parser.rb
gettext_i18n_rails-1.2.2 lib/gettext_i18n_rails/base_parser.rb
gettext_i18n_rails-1.2.1 lib/gettext_i18n_rails/base_parser.rb
gettext_i18n_rails-1.2.0 lib/gettext_i18n_rails/base_parser.rb
gettext_i18n_rails-1.1.0 lib/gettext_i18n_rails/base_parser.rb