class SiSU_Po4a::Source::Output

Public Class Methods

new(fn,content,md,process=:complete) click to toggle source
# File lib/sisu/src_po4a_shelf.rb, line 1143
def initialize(fn,content,md,process=:complete)
  @fn,@content,@md,@process=fn,content,md,process
  @file=SiSU_Env::FileOp.new(md,fn)
end

Public Instance Methods

po4a() click to toggle source
# File lib/sisu/src_po4a_shelf.rb, line 1147
def po4a                                                                 #%pot output
  file_pot=(@md.opt.f_pth[:lng] == @md.opt.lng_base) \
  ? @file.write_file.pot
  : @file.write_file.po
  @sisu=[]
  emptyline=0
  @content.each do |para|                                                # this is a hack
    if para.is_a?(Array) \
    and para.length > 0
      para.each do |line|
        if line
          line=line.gsub(/\s+$/m,'').
            gsub(/^\A[ ]*\Z/m,'')
          if line=~/^\A[ ]*\Z/m
            emptyline+=1
          else emptyline=0
          end
          file_pot.puts line if emptyline < 2                     #remove extra line spaces (fix upstream)
        end
      end
    else file_pot.puts para          #unix plaintext # /^([*=-]|\.){5}/
    end
  end
  file_pot.close
  SiSU_Po4aUtils::PotNumber.new.reset
  po4a_git
end
po4a_git() click to toggle source
# File lib/sisu/src_po4a_shelf.rb, line 1174
def po4a_git
  unless @md.opt.act[:maintenance][:set]==:on
    require_relative 'git'                           # git.rb
    git=SiSU_Git::Source.new(@md.opt,@process)
    unless FileTest.directory?(@file.output_path.pot_git.dir)
      git.create_file_structure_git
    end
    if @md.opt.f_pth[:lng] == @md.opt.lng_base
      FileUtils::cp(
        @file.place_file.pot.dir,
        @file.output_path.pot_git.dir
      )
    else # naive, work on -->
      FileUtils::cp(
        @file.place_file.po.dir,
        @file.output_path.po_git.dir
      ) #unless FileTest.file?(@file.place_file.po_git.dir)
    end
    git.read
  end
end