Sha256: 3780b6b9c24b7f02a50dd58be956a99291410b5b0f30c694e30c42e6baf3633b

Contents?: true

Size: 779 Bytes

Versions: 1

Compression:

Stored size: 779 Bytes

Contents

class Dvi::LsR
  def initialize(texmfdir)
    @texmfdir = texmfdir
    @table = Hash.new
    file = File.open(File.join(texmfdir, "ls-R"))
    begin
      current = nil
      while true do
        case file.readline
        when /^%/, /^$/
          # do nothing
        when /^(.*):$/
          current = $1
        when /^(.+)$/
          @table[$1] = Array.new unless @table.has_key? $1
          @table[$1] << current
        end
      end
    rescue EOFError
      file.close
    end
  end

  def find(name)
    if @table.has_key? name
      File.join(@texmfdir, @table[name].first, name)
    else
      return nil
    end
  end

  def self.default
    @default
  end

  def self.default=(lsr)
    raise ArgumentError unless lsr.kind_of?(self)
    @default = lsr
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dvi-0.1.0 lib/dvi/lsr.rb