class Sift::Parameter
Value Object that wraps some handling of filter params
Attributes
internal_name[R]
param[R]
type[R]
Public Class Methods
new(param, type, internal_name = param)
click to toggle source
# File lib/sift/parameter.rb, line 6 def initialize(param, type, internal_name = param) @param = param @type = type @internal_name = internal_name end
Public Instance Methods
handler()
click to toggle source
# File lib/sift/parameter.rb, line 21 def handler if type == :scope ScopeHandler.new(self) else WhereHandler.new(self) end end
parse_options()
click to toggle source
# File lib/sift/parameter.rb, line 12 def parse_options { supports_boolean: supports_boolean?, supports_ranges: supports_ranges?, supports_json: supports_json?, supports_json_object: supports_json_object? } end
Private Instance Methods
supports_boolean?()
click to toggle source
# File lib/sift/parameter.rb, line 43 def supports_boolean? type == :boolean end
supports_json?()
click to toggle source
# File lib/sift/parameter.rb, line 35 def supports_json? [:int, :jsonb].include?(type) end
supports_json_object?()
click to toggle source
# File lib/sift/parameter.rb, line 39 def supports_json_object? type == :jsonb end
supports_ranges?()
click to toggle source
# File lib/sift/parameter.rb, line 31 def supports_ranges? ![:string, :text, :scope].include?(type) end