Files
x-stake/app/graphql/ransack_support.rb
2021-08-28 00:36:12 -03:00

22 lines
538 B
Ruby

# frozen_string_literal: true
module RansackSupport
def ransack(base, filter)
base.ransack(build_ransack_query(base, filter)).result
end
def build_ransack_query(base, filter)
filter = filter.to_h
mapped_filter = {}
filter.each do |parent_key, parent_value|
next unless base.ransackable_attributes.include?(parent_key.to_s)
parent_value.each do |children_key, children_value|
mapped_filter["#{parent_key}_#{children_key}".to_sym] = children_value
end
end
mapped_filter
end
end