change instance variables to local variables

This commit is contained in:
Bilal Catic
2020-01-31 13:15:27 +01:00
parent 9a22804e62
commit 2dc2453039

View File

@@ -21,33 +21,33 @@ class TextToSqlQuery
private private
def generate_sql(tree) def generate_sql(tree)
@first_key = tree.keys.first first_key = tree.keys.first
case @first_key case first_key
when :DEFAULT_COLUMN when :DEFAULT_COLUMN
["#{@default_field.to_s} LIKE ?", "%#{tree[@first_key]}%"] ["#{@default_field.to_s} LIKE ?", "%#{tree[first_key]}%"]
when :OPERATOR_OR when :OPERATOR_OR
generate_expression_for_logical_operator(:OR, tree[@first_key]) generate_expression_for_logical_operator(:OR, tree[first_key])
when :OPERATOR_AND when :OPERATOR_AND
generate_expression_for_logical_operator(:AND, tree[@first_key]) generate_expression_for_logical_operator(:AND, tree[first_key])
when :OPERATOR_NOT when :OPERATOR_NOT
@not_array = generate_sql tree[@first_key] not_array = generate_sql tree[first_key]
if @not_array.length < 2 if not_array.length < 2
raise "There should be more than 1 element for expression following NOT operator" raise "There should be more than 1 element for expression following NOT operator"
end end
@not_expression = @not_array.first not_expression = not_array.first
@not_params = @not_array[1..] not_params = not_array[1..]
["NOT #{@not_expression}"] + @not_params ["NOT #{not_expression}"] + not_params
else else
# key is column name # key is column name
@mapping = @fields_mappings[@first_key.to_sym] mapping = @fields_mappings[first_key.to_sym]
if @mapping.nil? if mapping.nil?
["#{@default_field.to_s} LIKE ?", "%#{tree[@first_key]}%"] ["#{@default_field.to_s} LIKE ?", "%#{tree[first_key]}%"]
else else
["#{@mapping.to_s} LIKE ?", "%#{tree[@first_key]}%"] ["#{mapping.to_s} LIKE ?", "%#{tree[first_key]}%"]
end end
end end
end end
@@ -57,23 +57,23 @@ class TextToSqlQuery
raise "There should be two array elements for #{operator.to_s} operator" raise "There should be two array elements for #{operator.to_s} operator"
end end
@first_operand = generate_sql operator_array.first first_operand = generate_sql operator_array.first
@second_operand = generate_sql operator_array.last second_operand = generate_sql operator_array.last
if @first_operand.length < 2 if first_operand.length < 2
raise 'There should be more than 1 element in first operand array' raise 'There should be more than 1 element in first operand array'
end end
if @second_operand.length < 2 if second_operand.length < 2
raise 'There should be more than 1 element in second operand array' raise 'There should be more than 1 element in second operand array'
end end
@first_operand_expression = @first_operand.first first_operand_expression = first_operand.first
@first_operand_params = @first_operand[1..] first_operand_params = first_operand[1..]
@second_operand_expression = @second_operand.first second_operand_expression = second_operand.first
@second_operand_params = @second_operand[1..] second_operand_params = second_operand[1..]
["#{@first_operand_expression} #{operator.to_s} #{@second_operand_expression}"] + @first_operand_params + @second_operand_params ["#{first_operand_expression} #{operator.to_s} #{second_operand_expression}"] + first_operand_params + second_operand_params
end end
end end