1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
require 'hdf'
module Clearsilver
class Hdf < Neo::Hdf
def initialize
super
@level=0
@cpos=""
@position=[]
end
attr_reader :position, :cpos
def push name
@position.push(@cpos)
@cpos+=name+"."
if block_given?
yield
@cpos=@position.pop
end
end
def pop
@cpos=@position.pop
end
def put name, value
value = value.to_s unless value.is_a?(String)
self.set_value(@cpos+(name.to_s),value)
end
def get name
self.get_value(@cpos+name)
end
end
class Cs < Neo::Cs
end
end
|