Module: Trax::Controller::Collection::Searchable

Extended by:
ActiveSupport::Concern
Defined in:
lib/trax/controller/collection/searchable.rb

Instance Method Summary collapse

Instance Method Details

#searchObject



7
8
9
10
11
12
# File 'lib/trax/controller/collection/searchable.rb', line 7

def search
  render :json => search_collection,
         :meta => collection_response_meta,
         :each_serializer => collection_serializer,
         :root => collection_root
end

#search_collectionObject



14
15
16
17
18
19
20
21
22
23
# File 'lib/trax/controller/collection/searchable.rb', line 14

def search_collection
  @search_collection ||= begin
    search_keys = self.class.scopes_configuration.keys

    search_keys.inject(collection.all) do |result, key|
      relation = params.has_key?("#{key}") ? result.__send__(key, params[key]) : result
      relation
    end.all
  end
end