Class: Jav::Filters::BaseFilter
- Inherits:
-
Object
- Object
- Jav::Filters::BaseFilter
show all
- Defined in:
- lib/jav/filters/base_filter.rb
Constant Summary
collapse
- PARAM_KEY =
:filters
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(arguments: {}) ⇒ BaseFilter
Returns a new instance of BaseFilter.
33
34
35
|
# File 'lib/jav/filters/base_filter.rb', line 33
def initialize(arguments: {})
@arguments = arguments
end
|
Instance Attribute Details
#arguments ⇒ Object
Returns the value of attribute arguments.
13
14
15
|
# File 'lib/jav/filters/base_filter.rb', line 13
def arguments
@arguments
end
|
Class Method Details
.decode_filters(filter_params) ⇒ Object
18
19
20
21
22
|
# File 'lib/jav/filters/base_filter.rb', line 18
def decode_filters(filter_params)
JSON.parse(Base64.decode64(filter_params))
rescue StandardError
{}
end
|
.encode_filters(filter_params) ⇒ Object
24
25
26
|
# File 'lib/jav/filters/base_filter.rb', line 24
def encode_filters(filter_params)
Base64.encode64(filter_params.to_json)
end
|
.get_empty_message ⇒ Object
28
29
30
|
# File 'lib/jav/filters/base_filter.rb', line 28
def get_empty_message
empty_message || I18n.t("jav.no_options_available")
end
|
Instance Method Details
#applied_filters ⇒ Object
Fetch the applied filters from the params
63
64
65
|
# File 'lib/jav/filters/base_filter.rb', line 63
def applied_filters
self.class.decode_filters params[PARAM_KEY]
end
|
#applied_or_default_value(applied_filters) ⇒ Object
Get the applied value this filter.
If it's not present return the default value.
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/jav/filters/base_filter.rb', line 49
def applied_or_default_value(applied_filters)
applied_value = applied_filters[self.class.to_s]
return applied_value unless applied_value.nil?
default
rescue StandardError
default
end
|
#apply_query(request, query, value) ⇒ Object
37
38
39
40
41
|
# File 'lib/jav/filters/base_filter.rb', line 37
def apply_query(request, query, value)
value.stringify_keys! if value.is_a? Hash
apply(request, query, value)
end
|
#id ⇒ Object
43
44
45
|
# File 'lib/jav/filters/base_filter.rb', line 43
def id
self.class.name.underscore.tr("/", "_")
end
|
#visible_in_view(resource: nil, parent_resource: nil) ⇒ Object
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/jav/filters/base_filter.rb', line 67
def visible_in_view(resource: nil, parent_resource: nil)
return true if visible.blank?
Jav::Hosts::VisibilityHost.new(
block: visible,
params: params,
parent_resource: parent_resource,
resource: resource,
arguments: arguments
).handle
end
|