13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/action_cost/sql_parser.rb', line 13
def parse
if @sql =~ /^\s*(\w+)/
op = $1.downcase
unless VALID_OPERATIONS.include?(op)
Rails.logger.error "action_cost: unknown operation [#{op}]"
@invalid = true
return false
end
@operation = op
else
Rails.logger.error "action_cost: could not parse [#{@sql}]"
@invalid = true
return false
end
case @operation
when 'select' then parse_select
when 'insert' then parse_insert
when 'update' then parse_update
when 'delete' then parse_delete
end
return !@invalid
end
|