rgviz 0.27 → 0.28
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/rgviz/nodes.rb +8 -16
- data/lib/rgviz/parser.rb +13 -5
- data/lib/rgviz/visitor.rb +1 -1
- data/spec/rgviz/parser_spec.rb +2 -7
- metadata +3 -3
data/lib/rgviz/nodes.rb
CHANGED
@@ -42,7 +42,7 @@ module Rgviz
|
|
42
42
|
str << "offset #{offset} " if offset
|
43
43
|
str << "label #{labels.map(&:to_s).join(', ')} " if labels
|
44
44
|
str << "format #{formats.map(&:to_s).join(', ')} " if formats
|
45
|
-
str << "options #{options
|
45
|
+
str << "options #{options} " if options
|
46
46
|
str.strip
|
47
47
|
end
|
48
48
|
end
|
@@ -191,24 +191,16 @@ module Rgviz
|
|
191
191
|
end
|
192
192
|
end
|
193
193
|
|
194
|
-
class
|
195
|
-
|
196
|
-
NoValues = :no_values
|
197
|
-
NoFormat = :no_format
|
198
|
-
|
199
|
-
attr_accessor :option
|
200
|
-
|
201
|
-
def initialize(option)
|
202
|
-
@option = option
|
203
|
-
end
|
194
|
+
class Options
|
204
195
|
|
205
|
-
|
206
|
-
|
207
|
-
visitor.end_visit_option self
|
208
|
-
end
|
196
|
+
attr_accessor :no_values
|
197
|
+
attr_accessor :no_format
|
209
198
|
|
210
199
|
def to_s
|
211
|
-
|
200
|
+
s = ''
|
201
|
+
s += 'no_values ' if @no_values
|
202
|
+
s += 'no_format ' if @no_format
|
203
|
+
s.strip
|
212
204
|
end
|
213
205
|
|
214
206
|
end
|
data/lib/rgviz/parser.rb
CHANGED
@@ -138,14 +138,22 @@ module Rgviz
|
|
138
138
|
def parse_options
|
139
139
|
return if not token_is! Token::Options
|
140
140
|
|
141
|
-
@query.options =
|
141
|
+
@query.options = Options.new
|
142
142
|
|
143
|
-
while
|
144
|
-
|
145
|
-
|
143
|
+
while true
|
144
|
+
case @token.value
|
145
|
+
when Token::NoFormat
|
146
|
+
@query.options.no_format = true
|
147
|
+
next_token
|
148
|
+
when Token::NoValues
|
149
|
+
@query.options.no_values = true
|
150
|
+
next_token
|
151
|
+
else
|
152
|
+
break
|
153
|
+
end
|
146
154
|
end
|
147
155
|
|
148
|
-
raise ParseException.new "Expecting option" if
|
156
|
+
raise ParseException.new "Expecting option" if !@query.options.no_format && !@query.options.no_values
|
149
157
|
raise ParseException.new "Unknown option" if @token.value != Token::EOF
|
150
158
|
end
|
151
159
|
|
data/lib/rgviz/visitor.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Rgviz
|
2
2
|
class Visitor
|
3
3
|
['query', 'select', 'group_by', 'pivot', 'order_by',
|
4
|
-
'sort', 'where', 'label', 'format',
|
4
|
+
'sort', 'where', 'label', 'format',
|
5
5
|
'binary_expression', 'unary_expression',
|
6
6
|
'id_column', 'number_column', 'string_column',
|
7
7
|
'boolean_column', 'date_column', 'date_time_column',
|
data/spec/rgviz/parser_spec.rb
CHANGED
@@ -327,13 +327,8 @@ describe Parser do
|
|
327
327
|
it "parses options" do
|
328
328
|
query = parse "options no_values no_format"
|
329
329
|
options = query.options
|
330
|
-
options.
|
331
|
-
|
332
|
-
options[0].should be_a_kind_of Option
|
333
|
-
options[0].option.should == Option::NoValues
|
334
|
-
|
335
|
-
options[1].should be_a_kind_of Option
|
336
|
-
options[1].option.should == Option::NoFormat
|
330
|
+
options.no_values.should be_true
|
331
|
+
options.no_format.should be_true
|
337
332
|
end
|
338
333
|
|
339
334
|
it_raises_on 'select'
|
metadata
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rgviz
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 51
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: "0.
|
8
|
+
- 28
|
9
|
+
version: "0.28"
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Ary Borenszweig
|