class SiSU_Git::Source

Public Class Methods

new(opt,process=:complete) click to toggle source
# File lib/sisu/git.rb, line 60
def initialize(opt,process=:complete)
  @opt,@process=opt,process
  @env=SiSU_Env::InfoEnv.new
  @md=SiSU_Param::Parameters.new(@opt).get
  @file=SiSU_Env::FileOp.new(@md)
  l=SiSU_Env::StandardiseLanguage.new(@md.opt.lng).language
  unless @opt.lng==l[:c] # @md.i18n[0]==l[:c]
    p "using: #{@opt.lng} (@make: :language:); filename #{@md.fns} filename language: #{l[:c]}, mismatch"
  end
  if @env.output_dir_structure.multilingual?
    m=/((.+?)(?:\~\w{2,3})?)\.((?:-|ssm\.)?sst|ssm)$/ #watch added match for sss
    fnb,fnt=@opt.fns[m,2],@opt.fns[m,3]
  else m=/(.+?)\.((?:-|ssm\.)?sst|ssm)$/
    fnb=@fnn=@opt.fns[m,1]
    fnt=@opt.fns[m,2]
  end
  git_path_fnb=@env.processing_path.git + '/' + fnb
  lng=(@md.opt.lng) ? (@md.opt.lng) : (@md.i18n[0])
  @git_path={
    fnb:       git_path_fnb,
    doc:       git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:doc] + '/' + lng,
    po:        git_path_fnb + '/' + Gt[:po] + '/' + lng,
    pot:       git_path_fnb + '/' + Gt[:pot],
    conf:      git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:conf],
    image:     git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:image],
    audio:     git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:audio],
    video:     git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:video],
    conf:      git_path_fnb + '/' + Gt[:sisupod] + '/' + Gt[:conf]
  }
  SiSU_AO::Source.new(@opt,nil,@process).read                            # -m
end

Public Instance Methods

composite_src?() click to toggle source
# File lib/sisu/git.rb, line 255
def composite_src?
  @opt.fns=~/\.ssm$/ ? true : false
end
copy_src_head() click to toggle source
# File lib/sisu/git.rb, line 176
def copy_src_head
  if @opt.f_pth[:lng] \
  and File.exist?("#{@env.path.pwd}/#{@opt.f_pth[:lng]}/#{@opt.fns}")
    FileUtils::cp_r(
      "#{@env.path.pwd}/#{@opt.f_pth[:lng]}/#{@opt.fns}",
      @git_path[:doc]
    )
  elsif @opt.fns =~/\.ssm\.sst/
    ssm=@opt.fns.gsub(/\.ssm\.sst/,'.ssm')
    FileUtils::cp_r(
      "#{@env.path.pwd}/#{ssm}",
      @git_path[:doc]
    )
  elsif File.exist?("#{@env.path.pwd}/#{@opt.fns}")
    FileUtils::cp_r(
      "#{@env.path.pwd}/#{@opt.fns}",
      @git_path[:doc]
    )
  end
end
create_file_structure_git() click to toggle source
# File lib/sisu/git.rb, line 91
def create_file_structure_git
  make_dir_fnb
  if program_found?
    git_init
  end
end
git_commit() click to toggle source
# File lib/sisu/git.rb, line 158
def git_commit
  if program_found?
    if FileTest.directory?("#{@git_path[:fnb]}")
      pwd=Dir.pwd
      Dir.chdir(@git_path[:fnb])
      system("
        git add . \
        && git commit -a
      ")
      Dir.chdir(pwd)
    end
  end
end
git_init() click to toggle source
# File lib/sisu/git.rb, line 150
def git_init
  unless FileTest.directory?("#{@git_path[:fnb]}/.git")
    pwd=Dir.pwd
    Dir.chdir(@git_path[:fnb])
    system("git init ")
    Dir.chdir(pwd)
  end
end
identify_language_versions() click to toggle source
# File lib/sisu/git.rb, line 172
def identify_language_versions
  print __FILE__ + ':'
  p __LINE__
end
locate_parse_file() click to toggle source
# File lib/sisu/git.rb, line 220
def locate_parse_file
  composite_src=@opt.fns=~/\.ssm$/ ? true : false
  if composite_src \
  and not @opt.act[:ao][:set]==:on
    ##SiSU_Assemble::Composite.new(@opt).read
    #SiSU_AO::Source.new(@opt).read                                         # -m
    @env.processing_path.composite_file \
    + '/' \
    + @opt.fnb \
    + '.ssm.sst'
  elsif composite_src
    @env.processing_path.composite_file \
    + '/' \
    + @opt.fnb \
    + '.ssm.sst'
  else
    @env.path.pwd
    + '/' \
    + @opt.fns
  end
end
make_dir_fnb() click to toggle source
# File lib/sisu/git.rb, line 132
def make_dir_fnb
  FileUtils::mkdir_p(@git_path[:fnb]) \
    unless FileTest.directory?(@git_path[:fnb])
  FileUtils::mkdir_p(@git_path[:doc]) \
    unless FileTest.directory?(@git_path[:doc])
  FileUtils::mkdir_p(@git_path[:po]) \
    unless FileTest.directory?(@git_path[:po])
  FileUtils::mkdir_p(@git_path[:pot]) \
    unless FileTest.directory?(@git_path[:pot])
  FileUtils::mkdir_p(@git_path[:conf]) \
    unless FileTest.directory?(@git_path[:conf])
  FileUtils::mkdir_p(@git_path[:image]) \
    unless FileTest.directory?(@git_path[:image])
  #FileUtils::mkdir_p(@git_path[:audio]) \
  #  unless FileTest.directory?(@git_path[:audio])
  #FileUtils::mkdir_p(@git_path[:video]) \
  #  unless FileTest.directory?(@git_path[:video])
end
populate() click to toggle source
# File lib/sisu/git.rb, line 171
def populate
  def identify_language_versions
    print __FILE__ + ':'
    p __LINE__
  end
  def copy_src_head
    if @opt.f_pth[:lng] \
    and File.exist?("#{@env.path.pwd}/#{@opt.f_pth[:lng]}/#{@opt.fns}")
      FileUtils::cp_r(
        "#{@env.path.pwd}/#{@opt.f_pth[:lng]}/#{@opt.fns}",
        @git_path[:doc]
      )
    elsif @opt.fns =~/\.ssm\.sst/
      ssm=@opt.fns.gsub(/\.ssm\.sst/,'.ssm')
      FileUtils::cp_r(
        "#{@env.path.pwd}/#{ssm}",
        @git_path[:doc]
      )
    elsif File.exist?("#{@env.path.pwd}/#{@opt.fns}")
      FileUtils::cp_r(
        "#{@env.path.pwd}/#{@opt.fns}",
        @git_path[:doc]
      )
    end
  end
  def copy_related_sst_ssi
    doc_import=[]
    @rgx_doc_import=/^<<\s(\S+?\.ss[ti])/
    file_array=IO.readlines(@opt.fns,'')
    file_array.each do |f|
      if f =~@rgx_doc_import
        doc_import = doc_import \
        + f.scan(@rgx_doc_import).uniq.flatten
      end
    end
    doc_import.each do |f|
      if @opt.f_pth[:lng]
        FileUtils::cp_r(
          "#{@env.path.pwd}/#{@opt.f_pth[:lng]}/#{f}",
          @git_path[:doc]
        )
      else
        FileUtils::cp_r(
          "#{@env.path.pwd}/#{f}",
          @git_path[:doc]
        )
      end
    end
  end
  def locate_parse_file
    composite_src=@opt.fns=~/\.ssm$/ ? true : false
    if composite_src \
    and not @opt.act[:ao][:set]==:on
      ##SiSU_Assemble::Composite.new(@opt).read
      #SiSU_AO::Source.new(@opt).read                                         # -m
      @env.processing_path.composite_file \
      + '/' \
      + @opt.fnb \
      + '.ssm.sst'
    elsif composite_src
      @env.processing_path.composite_file \
      + '/' \
      + @opt.fnb \
      + '.ssm.sst'
    else
      @env.path.pwd
      + '/' \
      + @opt.fns
    end
  end
  def read_composite
    #print __FILE__ + ':'
    #p __LINE__
  end
  def sisuyaml_rc
    sisurc=@env.path.sisurc_path
    if FileTest.file?(sisurc)
      FileUtils::cp_r(sisurc,@git_path[:conf])
    end
  end
  def read_src
    print __FILE__ + ':'
    p __LINE__
  end
  def composite_src?
    @opt.fns=~/\.ssm$/ ? true : false
  end
  def sisusrc_files
    populate.copy_src_head
    if composite_src?
      populate.copy_related_sst_ssi
    end
    #parse_file_name=locate_parse_file
    #parse_file=IO.readlines(parse_file_name,'')
    populate.sisuyaml_rc #(parse_file)
    #populate.extract_composite_source
    #populate.read_composite # or read_each_composite
    populate.identify_language_versions
  end
  self
end
program_found?() click to toggle source
# File lib/sisu/git.rb, line 128
def program_found?
  found=`whereis git`
  (found =~/bin\/git\b/) ? true : false
end
read() click to toggle source
# File lib/sisu/git.rb, line 97
def read
  create_file_structure_git
  populate.sisusrc_files
  #if program_found?
  #  git_commit
  #end
  unless @opt.act[:quiet][:set]==:on
    (@opt.act[:verbose][:set]==:on \
    || @opt.act[:verbose_plus][:set]==:on \
    || @opt.act[:maintenance][:set]==:on) \
    ? SiSU_Screen::Ansi.new(
        @opt.act[:color_state][:set],
        'Git path',
        @git_path[:fnb]
      ).green_hi_blue
    : SiSU_Screen::Ansi.new(
        @opt.act[:color_state][:set],
        'Git path',
        @git_path[:fnb]
      ).green_title_hi
    if (@opt.act[:verbose][:set]==:on \
    || @opt.act[:verbose_plus][:set]==:on \
    || @opt.act[:maintenance][:set]==:on)
      SiSU_Screen::Ansi.new(
        @opt.act[:color_state][:set],
        "Git path",
        "#{@opt.fns} -> #{@git_path[:fnb]}"
      ).warn
    end
  end
end
read_composite() click to toggle source
# File lib/sisu/git.rb, line 241
def read_composite
  #print __FILE__ + ':'
  #p __LINE__
end
read_src() click to toggle source
# File lib/sisu/git.rb, line 251
def read_src
  print __FILE__ + ':'
  p __LINE__
end
sisusrc_files() click to toggle source
# File lib/sisu/git.rb, line 258
def sisusrc_files
  populate.copy_src_head
  if composite_src?
    populate.copy_related_sst_ssi
  end
  #parse_file_name=locate_parse_file
  #parse_file=IO.readlines(parse_file_name,'')
  populate.sisuyaml_rc #(parse_file)
  #populate.extract_composite_source
  #populate.read_composite # or read_each_composite
  populate.identify_language_versions
end
sisuyaml_rc() click to toggle source
# File lib/sisu/git.rb, line 245
def sisuyaml_rc
  sisurc=@env.path.sisurc_path
  if FileTest.file?(sisurc)
    FileUtils::cp_r(sisurc,@git_path[:conf])
  end
end