Class: ClickHouse::Ast::Ticker

Inherits:
Object
  • Object
show all
Defined in:
lib/click_house/ast/ticker.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTicker

Returns a new instance of Ticker.



10
11
12
# File 'lib/click_house/ast/ticker.rb', line 10

def initialize
  @current = Statement.new
end

Instance Attribute Details

#currentObject (readonly)

Returns the value of attribute current.



8
9
10
# File 'lib/click_house/ast/ticker.rb', line 8

def current
  @current
end

#rootObject (readonly)

Returns the value of attribute root.



8
9
10
# File 'lib/click_house/ast/ticker.rb', line 8

def root
  @root
end

Instance Method Details

#char(char) ⇒ Object

Parameters:

  • char (String)


33
34
35
# File 'lib/click_house/ast/ticker.rb', line 33

def char(char)
  current.print(char)
end

#closeObject



26
27
28
29
30
# File 'lib/click_house/ast/ticker.rb', line 26

def close
  current.argument! unless current.named?
  opened.last.merge(current)
  @current = opened.pop
end

#commaObject



20
21
22
23
24
# File 'lib/click_house/ast/ticker.rb', line 20

def comma
  current.argument! if current.buffer?
  opened.last.merge(current)
  @current = Statement.new
end

#openObject



14
15
16
17
18
# File 'lib/click_house/ast/ticker.rb', line 14

def open
  current.name!
  opened.push(current)
  @current = Statement.new
end

#openedObject



37
38
39
# File 'lib/click_house/ast/ticker.rb', line 37

def opened
  @opened ||= []
end