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
|
# File 'ui/src/hokusai/automation/converters/selector_converter.rb', line 6
def self.parse_selectors(selector)
final = []
scanner = StringScanner.new(selector)
while !scanner.eos?
if node = scan_node(scanner)
id = scan_id(scanner)
classes = scan_classes(scanner)
final << Selector.new(node, id, classes)
scan_space(scanner)
elsif id = scan_id(scanner)
classes = scan_classes(scanner)
final << Selector.new(nil, id, classes)
scan_space(scanner)
elsif classes = scan_classes(scanner)
final << Selector.new(nil, nil, classes)
scan_space(scanner)
else
scanner.terminate
if scanner.rest.empty?
scanner.terminate
else
raise Automation::Error.new("Error Scanning: Improperly formatted selector: #{scanner.rest}")
end
end
end
final
end
|