Method: SqlCmd.insert_values

Defined in:
lib/sql_cmd/query.rb

.insert_values(sql_query, values, case_sensitive: false) ⇒ Object

Substitute sqlcmd style variables with values provided in a hash. Don’t include $() Example values: ‘varname’ => ‘Some value’, ‘varname2’ => ‘some other value’



188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/sql_cmd/query.rb', line 188

def insert_values(sql_query, values, case_sensitive: false)
  return sql_query if values.nil? || values.all? { |i, _j| i.nil? || i.empty? }

  EasyIO.logger.debug "Inserting variable values into query: #{JSON.pretty_generate(values)}"
  sql_query = to_utf8(sql_query)
  values.each do |key, value|
    regexp_key = case_sensitive ? "$(#{key})" : /\$\(#{Regexp.escape(key)}\)/i
    sql_query.gsub!(regexp_key) { value }
  end

  sql_query
end