Class: Hws::Helpers::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/hws-transactions/helpers/query.rb

Overview

:nodoc:

Class Method Summary collapse

Class Method Details

.construct_query(base, filter_hash) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/hws-transactions/helpers/query.rb', line 6

def construct_query(base, filter_hash)
  mut = filter_hash.key?('mutable_tags') ? filter_hash.delete('mutable_tags') : {}
  immut = filter_hash.key?('immutable_tags') ? filter_hash.delete('immutable_tags') : {}

  query = base.where(filter_hash)
  query = query_jsonb(query, 'mutable_tags', mut)
  query_jsonb(query, 'immutable_tags', immut)
end

.query_jsonb(base, column_name, filter_hash) ⇒ Object



15
16
17
18
19
# File 'lib/hws-transactions/helpers/query.rb', line 15

def query_jsonb(base, column_name, filter_hash)
  return base if filter_hash.empty?

  base.where("#{column_name} @> ?", filter_hash.to_json)
end