Module: FilterUtils

Defined in:
lib/models/filters.rb

Instance Method Summary collapse

Instance Method Details

#convert_custom_filter(filter) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/models/filters.rb', line 70

def convert_custom_filter(filter)
  case filter[:filter_type]
  when FilterType::STRING_FILTER
    validate_string_filter(filter)
    filter.merge(field_type: FieldType::STRING)
  when FilterType::STRING_IN_FILTER
    validate_string_in_filter(filter)
    filter.merge(field_type: FieldType::STRING)
  when FilterType::NUMERIC_FILTER
    validate_numeric_filter(filter)
    filter.merge(field_type: FieldType::NUMBER)
  when FilterType::NULL_FILTER
    validate_null_filter(filter)
    filter.merge(field_type: FieldType::NULL)
  when FilterType::BOOLEAN_FILTER
    validate_boolean_filter(filter)
    filter.merge(field_type: FieldType::BOOLEAN)
  when FilterType::DATE_FILTER
    validate_date_filter(filter)
    filter.merge(field_type: FieldType::DATE)
  when FilterType::DATE_CUSTOM_FILTER
    validate_date_custom_filter(filter)
    filter.merge(field_type: FieldType::DATE)
  when FilterType::DATE_COMPARISON_FILTER
    validate_date_comparison_filter(filter)
    filter.merge(field_type: FieldType::DATE)
  end
end