Module: ElasticRansack
- Defined in:
- lib/elastic_ransack.rb,
lib/elastic_ransack/model.rb,
lib/elastic_ransack/naming.rb,
lib/elastic_ransack/search.rb,
lib/elastic_ransack/version.rb,
lib/elastic_ransack/predicate.rb
Defined Under Namespace
Modules: ClassMethods, Model, Naming
Classes: Name, Predicate, Search
Constant Summary
collapse
- BASE_PREDICATES =
[
['eq', {query: proc { |attr, v| {term: {attr => v}} }}],
['in', {query: proc { |attr, v| {terms: {attr => ElasticRansack.val_to_array(v)}} }}],
['in_all', {query: proc { |attr, v| {terms: {attr => ElasticRansack.val_to_array(v), execution: 'and'}} }}],
['gt', {query: proc { |attr, v| {range: {attr => {gt: v}}} }}],
['lt', {query: proc { |attr, v| {range: {attr => {lt: v}}} }}],
['gteq', {query: proc { |attr, v| {range: {attr => {gte: v}}} }}],
['lteq', {query: proc { |attr, v| {range: {attr => {lte: v}}} }}]
]
- VERSION =
'0.0.1'
Class Method Summary
collapse
Class Method Details
.add_predicate(*args) ⇒ Object
28
29
30
|
# File 'lib/elastic_ransack.rb', line 28
def add_predicate(*args)
self.predicates << Predicate.new(*args)
end
|
.setup {|_self| ... } ⇒ Object
24
25
26
|
# File 'lib/elastic_ransack.rb', line 24
def setup
yield self
end
|
.val_to_array(val) ⇒ Object
32
33
34
35
36
|
# File 'lib/elastic_ransack.rb', line 32
def val_to_array(val)
return [] unless val
return val if val.is_a?(Array)
val.to_s.split(',').map(&:to_i).reject(&:zero?)
end
|