class PaginationSearch::SearchConditions
Constants
- ALL_TRAIT_SEARCH_KEY
- EXACT_MATCH
- MATCH_TYPE_KEY
- Result
Public Class Methods
process(search_string)
click to toggle source
# File lib/pagination_search/search_conditions.rb, line 29 def process(search_string) wrapped attribute_cleaned grouped separated search_string end
Private Class Methods
attribute_cleaned(grouped_hash)
click to toggle source
# File lib/pagination_search/search_conditions.rb, line 51 def attribute_cleaned(grouped_hash) return nil if grouped_hash.nil? grouped_hash.each do |key, values| values.each { |value| value.gsub!("#{key}:", '') }.compact end end
grouped(terms)
click to toggle source
# File lib/pagination_search/search_conditions.rb, line 46 def grouped(terms) return nil if terms.nil? terms.group_by { |item| /.+?(?=:)/.match(item).to_s }.to_hash end
separated(search_string)
click to toggle source
# File lib/pagination_search/search_conditions.rb, line 40 def separated(search_string) CSV::parse_line(search_string, col_sep: ' ').compact rescue CSV::MalformedCSVError => mce nil end
wrapped(cleaned_grouped_hash)
click to toggle source
# File lib/pagination_search/search_conditions.rb, line 35 def wrapped(cleaned_grouped_hash) return nil if cleaned_grouped_hash.nil? Result.new(cleaned_grouped_hash) end