Module: Service::Query

Defined in:
lib/service/query.rb

Instance Method Summary collapse

Instance Method Details

#create_query(options = {}) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/service/query.rb', line 14

def create_query(options = {})
  columns = "*"
  
  condition = "WHERE #{sanitize_sql(options[:conditions])}" unless(options[:conditions].to_s.blank?)
  columns = options[:select] unless(options[:select].to_s.blank?)      
  
  start = "STARTPOSITION #{options[:start]}" if(options[:start].to_i > 0)
  max_result = "MAXRESULTS #{options[:top]}" if(options[:top].to_i > 0)
    
  return "SELECT #{columns} FROM #{entity} #{condition} #{start} #{max_result}"
end

#sanitize_sql(ary) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/service/query.rb', line 4

def sanitize_sql(ary)
  return ary if ary.class != Array
  
  statement, *values = ary
  
  return statement.gsub('?') do
    "'" + values[0].to_s.gsub("'", "\\\\'") +"'"
  end
end