Module: SearchFlip::Customable

Included in:
Aggregation, Criteria
Defined in:
lib/search_flip/customable.rb

Overview

The SearchFlip::Sortable mixin provides the chainable #custom method to add arbitrary sections to the elasticsearch request

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



6
7
8
9
10
# File 'lib/search_flip/customable.rb', line 6

def self.included(base)
  base.class_eval do
    attr_accessor :custom_value
  end
end

Instance Method Details

#custom(hash) ⇒ SearchFlip::Criteria

Note:

Use with caution, because using #custom will potentiall override other sections like aggregations, query, sort, etc if you use the the same section names.

Adds a fully custom field/section to the request, such that upcoming or minor Elasticsearch features as well as other custom requirements can be used without having yet specialized criteria methods.

Examples:

CommentIndex.custom(section: { argument: "value" }).request
=> {:section=>{:argument=>"value"},...}

Parameters:

  • hash (Hash)

    The custom section that is added to the request

Returns:



28
29
30
31
32
# File 'lib/search_flip/customable.rb', line 28

def custom(hash)
  fresh.tap do |criteria|
    criteria.custom_value = (custom_value || {}).merge(hash)
  end
end