Module: RailsSimpleSearch::SqlHandler
- Defined in:
- lib/sql_handler.rb
Instance Method Summary collapse
Instance Method Details
#conditions ⇒ Object
9 10 11 12 |
# File 'lib/sql_handler.rb', line 9 def conditions run_criteria @conditions end |
#init ⇒ Object
4 5 6 7 |
# File 'lib/sql_handler.rb', line 4 def init @table_name = @model_class.table_name @joins = {} end |
#joins ⇒ Object
14 15 16 17 |
# File 'lib/sql_handler.rb', line 14 def joins run_criteria @joins_str end |
#run ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/sql_handler.rb', line 19 def run run_criteria query = @model_class.joins(@joins_str) if @conditions query = query.where(@conditions) end if @config[:paginate] @count = query.count offset = [((@page || 0) - 1) * @config[:per_page], 0].max limit = @config[:per_page] else offset = @config[:offset] limit = @config[:limit] end query.order(@order) if @order query.select("distinct #{@model_class.table_name}.*").offset(offset).limit(limit) end |