Class: Druid::JavascriptFilter

Inherits:
Filter
  • Object
show all
Includes:
BooleanOperators
Defined in:
lib/druid/filter.rb

Instance Attribute Summary

Attributes inherited from Filter

#dimension, #field, #fields, #function, #pattern, #type, #value

Class Method Summary collapse

Instance Method Summary collapse

Methods included from BooleanOperators

#!, #&, #|

Methods inherited from Filter

#as_json, #method_missing

Constructor Details

#initialize(dimension, function) ⇒ JavascriptFilter

Returns a new instance of JavascriptFilter.



346
347
348
349
350
351
# File 'lib/druid/filter.rb', line 346

def initialize(dimension, function)
  super()
  @type = 'javascript'
  @dimension = dimension
  @function = function
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Druid::Filter

Class Method Details

.new_comparison(dimension, operator, value) ⇒ Object



357
358
359
# File 'lib/druid/filter.rb', line 357

def self.new_comparison(dimension, operator, value)
  self.new_expression(dimension, "#{dimension} #{operator} #{value.to_json}")
end

.new_expression(dimension, expression) ⇒ Object



353
354
355
# File 'lib/druid/filter.rb', line 353

def self.new_expression(dimension, expression)
  self.new(dimension, "function(#{dimension}) { return(#{expression}); }")
end