Sha256: d7a66572bc21910b898fbb27f6ed0d26dc73d8cb2753a15d218db06986cb7ec5
Contents?: true
Size: 809 Bytes
Versions: 2
Compression:
Stored size: 809 Bytes
Contents
module Alf class Reader # # Specialization of the Reader contract for .rash files. # # A .rash file/stream contains one ruby hash literal on each line. This # reader simply decodes each of them in turn with Kernel.eval, providing a # state-less reader (that is, tuples are not all loaded in memory at once). # class Rash < Reader # (see Reader#line2tuple) def line2tuple(line) begin h = Kernel.eval(line) raise "hash expected, got #{h}" unless h.is_a?(Hash) rescue Exception => ex $stderr << "Skipping #{line.strip}: #{ex.message}\n" nil else return h end end Reader.register(:rash, [".rash"], self) end # class Rash end # class Reader end # module Alf
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
alf-0.10.1 | lib/alf/reader/rash.rb |
alf-0.10.0 | lib/alf/reader/rash.rb |