Class: Avo::Filter

Inherits:
Object
  • Object
show all
Defined in:
lib/avo/app/filter.rb

Constant Summary collapse

@@default =
nil

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeFilter

Returns a new instance of Filter.



9
10
11
12
13
# File 'lib/avo/app/filter.rb', line 9

def initialize
  @name ||= 'Filter'
  @component ||= 'boolean-filter'
  @default ||= ''
end

Instance Attribute Details

#componentObject

Returns the value of attribute component.



4
5
6
# File 'lib/avo/app/filter.rb', line 4

def component
  @component
end

#defaultObject

Returns the value of attribute default.



5
6
7
# File 'lib/avo/app/filter.rb', line 5

def default
  @default
end

#nameObject

Returns the value of attribute name.



3
4
5
# File 'lib/avo/app/filter.rb', line 3

def name
  @name
end

Class Method Details

.set_default(value) ⇒ Object



41
42
43
# File 'lib/avo/app/filter.rb', line 41

def self.set_default(value)
  @@default = value
end

Instance Method Details

#apply_query(request, query, value) ⇒ Object



26
27
28
29
30
# File 'lib/avo/app/filter.rb', line 26

def apply_query(request, query, value)
  value.symbolize_keys! if value.is_a? Hash

  self.apply(request, query, value)
end

#default_valueObject

These methods helps us set a default value in the testing environment



37
38
39
# File 'lib/avo/app/filter.rb', line 37

def default_value
  @@default || default
end

#idObject



32
33
34
# File 'lib/avo/app/filter.rb', line 32

def id
  self.class.name.underscore.gsub('/', '_')
end

#render_responseObject



15
16
17
18
19
20
21
22
23
24
# File 'lib/avo/app/filter.rb', line 15

def render_response
  {
    id: id,
    name: name,
    options: options,
    component: component,
    default: default_value,
    filter_class: self.class.to_s,
  }
end