Module: RansackQuery

Defined in:
lib/ransack_query.rb,
lib/ransack_query/version.rb

Constant Summary collapse

VERSION =
'0.3.0'

Class Method Summary collapse

Class Method Details

.build(options = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/ransack_query.rb', line 9

def self.build(options = {})
  grouping = Grouping.new do |new_grouping|
    yield new_grouping
  end
  ransack_hash = {'g' => grouping.ransackify}
  ransack_hash = {options[:prefix] => ransack_hash} if options[:prefix]
  ransack_hash = ransack_hash.to_json if options[:format] == :json
  ransack_hash
end

.generate_idObject



19
20
21
# File 'lib/ransack_query.rb', line 19

def self.generate_id
  SecureRandom.hex
end

.sampleObject



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/ransack_query.rb', line 23

def self.sample
  build do |grouping|
    grouping.combinator = :or
    grouping.add_grouping do |new_grouping|
      new_grouping.add_condition(Condition.new(attribute: 'document_number', value: '111'))
      new_grouping.add_condition(Condition.new(attribute: 'driver_name', value: '222'))
    end
    grouping.add_grouping do |new_grouping|
      new_grouping.add_condition(Condition.new(attribute: 'document_number', value: '333'))
      new_grouping.add_condition(Condition.new(attribute: 'driver_name', value: '444'))
    end
  end
end