Module: Mobility::Ransack::Search

Defined in:
lib/mobility/ransack.rb

Instance Method Summary collapse

Instance Method Details

#result(opts = {}) ⇒ Object



31
32
33
34
35
36
37
38
39
# File 'lib/mobility/ransack.rb', line 31

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.flat_map(&:name))
  end
end