class PoParser::Tokenizer

Feed each block of PO file to Parser.

Public Class Methods

new(is_file = false) click to toggle source
# File lib/poparser/tokenizer.rb, line 6
def initialize(is_file = false)
  @po = Po.new
  @is_file = is_file
end

Public Instance Methods

extract(payload) click to toggle source
# File lib/poparser/tokenizer.rb, line 11
def extract(payload)
  if @is_file
    @po.path = payload
    payload = File.read(payload, mode: 'r:utf-8')
  end

  extract_entries(payload)
end

Private Instance Methods

extract_entries(payload) click to toggle source
# File lib/poparser/tokenizer.rb, line 26
def extract_entries(payload)
  payload.split("\n\n").each do |block|
    block.strip!
    @po << parse_block(block) if block != ''
  end

  @po
end
parse_block(block) click to toggle source
# File lib/poparser/tokenizer.rb, line 22
def parse_block(block)
  SimplePoParser.parse_message(block)
end