Sha256: eb3b102e2d69bdf4e4f9db232be47efd575c8215826b3da3b28e15b45ca18ca5

Contents?: true

Size: 1.14 KB

Versions: 4

Compression:

Stored size: 1.14 KB

Contents

LEXT = ".lt3"

  def stale?(src, dst, force = false)
    log!(enter: __method__, args: [src, dst])
    raise "Source #{src} not found in #{Dir.pwd}" unless File.exist?(src)
    return true if force
    return true unless File.exist?(dst)
    return true if File.mtime(src) > File.mtime(dst)
    return false
  end

  def xlate(cwd: Dir.pwd, src:, 
            dst: (strip = true; src.sub(/.lt3$/,"")), 
            copy: nil, debug: false, force: false)
    src += LEXT unless src.end_with?(LEXT)
    dst += ".html" unless dst.end_with?(".html") || strip
    indent = " "*12
    Dir.chdir(cwd) do
      if debug
        STDERR.puts "#{indent} -- xlate #{src} >#{dst}"
        STDERR.puts "#{indent}      in:   #{Dir.pwd}"
        STDERR.puts "#{indent}      from: #{caller[0]}"
        STDERR.puts "#{indent}      copy: #{copy}" if copy
      end
      if stale?(src, dst, force)
        # do nothing
      else
        STDERR.puts "#{indent} -- ^ Already up to date!" if debug
        return
      end
      rc = system("livetext #{src} >#{dst}")
      STDERR.puts "...completed (shell returned #{rc})" if debug
      system("cp #{dst} #{copy}") if copy
    end
  end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
runeblog-0.2.24 lib/xlate.rb
runeblog-0.2.23 lib/xlate.rb
runeblog-0.2.22 lib/xlate.rb
runeblog-0.2.18 lib/xlate.rb