Class: Wallaby::ActiveRecord::ModelServiceProvider::Querier

Inherits:
Object
  • Object
show all
Defined in:
lib/adaptors/wallaby/active_record/model_service_provider/querier.rb,
lib/adaptors/wallaby/active_record/model_service_provider/querier/transformer.rb

Overview

Query builder

Defined Under Namespace

Classes: Transformer

Constant Summary collapse

TEXT_FIELDS =
%w(string text citext).freeze

Instance Method Summary collapse

Constructor Details

#initialize(model_decorator) ⇒ Querier

Returns a new instance of Querier.



8
9
10
11
# File 'lib/adaptors/wallaby/active_record/model_service_provider/querier.rb', line 8

def initialize(model_decorator)
  @model_decorator = model_decorator
  @model_class = @model_decorator.model_class
end

Instance Method Details

#search(params) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/adaptors/wallaby/active_record/model_service_provider/querier.rb', line 13

def search(params)
  filter_name, keywords, field_queries = extract params
  scope = filtered_by filter_name
  query = text_search keywords
  query = field_search field_queries, query
  scope.where query
end