Module: Mobility::Plugins::Ransack::Search

Defined in:
lib/mobility/plugins/ransack.rb

Instance Method Summary collapse

Instance Method Details

#result(opts = {}) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'lib/mobility/plugins/ransack.rb', line 25

def result(opts = {})
  sorted = sorts.inject(super) do |relation, sort|
    predicate = ::Ransack::Visitor.new.visit_Ransack_Nodes_Sort(sort)
    apply_mobility_scope(relation, predicate, [sort.attr_name])
  end
  conditions.inject(sorted) do |relation, condition|
    apply_mobility_scope(relation, condition.arel_predicate, condition.attributes.compact.flatten.map(&:name))
  end
end