sql_tree 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,33 +0,0 @@
1
- module SQLTree::Node
2
-
3
- class Value < Base
4
- attr_accessor :value
5
-
6
- def initialize(value)
7
- @value = value
8
- end
9
-
10
- def to_sql
11
- case value
12
- when nil then 'NULL'
13
- when String then quote_str(@value)
14
- else @value.to_s
15
- end
16
- end
17
-
18
- def ==(other)
19
- other.kind_of?(self.class) && other.value == self.value
20
- end
21
-
22
- def self.parse(tokens)
23
- case tokens.next
24
- when SQLTree::Token::String, SQLTree::Token::Number
25
- SQLTree::Node::Value.new(tokens.current.literal)
26
- when SQLTree::Token::NULL
27
- SQLTree::Node::Value.new(nil)
28
- else
29
- raise SQLTree::Parser::UnexpectedToken.new(tokens.current, :literal)
30
- end
31
- end
32
- end
33
- end
@@ -1,31 +0,0 @@
1
- module SQLTree::Node
2
-
3
- class Variable < Base
4
-
5
- attr_accessor :name
6
-
7
- def initialize(name)
8
- @name = name
9
- end
10
-
11
- def to_sql
12
- quote_var(@name)
13
- end
14
-
15
- def ==(other)
16
- other.class == self.class && other.name == self.name
17
- end
18
-
19
- def self.parse(tokens)
20
- if SQLTree::Token::Variable === tokens.peek
21
- if tokens.peek(2) == SQLTree::Token::DOT
22
- SQLTree::Node::Field.parse(tokens)
23
- else
24
- self.new(tokens.next.literal)
25
- end
26
- else
27
- raise SQLTree::Parser::UnexpectedToken.new(tokens.peek, :variable)
28
- end
29
- end
30
- end
31
- end