File: neo.rb

package info (click to toggle)
clearsilver 0.10.5-7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,304 kB
  • sloc: ansic: 24,586; python: 4,233; sh: 2,502; cs: 1,429; ruby: 819; java: 735; makefile: 589; perl: 120; lisp: 34; sql: 21
file content (46 lines) | stat: -rw-r--r-- 608 bytes parent folder | download | duplicates (10)
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