5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/rquery-activerecord.rb', line 5
def rquery(cmd=nil)
if cmd
ar_statement = ''
ar_statement += where_clause(JSON.parse(cmd[:where])) if cmd[:where]
ar_statement += or_clause(JSON.parse(cmd[:or])) if cmd[:or]
ar_statement += order_clause(JSON.parse(cmd[:order])) if cmd[:order]
ar_statement += limit_clause(cmd[:limit]) if cmd[:limit]
ar_statement += skip_clause(cmd[:skip]) if cmd[:skip]
ar_statement = (ar_statement == '' ? {:results => eval('all').to_a} : {:results => eval(ar_statement[1..-1]).to_a})
ar_statement = count_clause(cmd[:count], ar_statement) if cmd[:count]
ar_statement[:results].present? || ar_statement[:count].present? ? ar_statement : {}
else
{}
end
end
|