Module: MmEsSearch::Utils::FacetRowUtils

Extended by:
ActiveSupport::Concern
Defined in:
lib/mm_es_search/utils/facet_row_utils.rb

Instance Method Summary collapse

Instance Method Details

#checked_rowsObject



34
35
36
37
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 34

def checked_rows
  return [] if rows.empty?
  rows.select {|row| row.checked?}
end

#find_row_by_params(params) ⇒ Object



28
29
30
31
32
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 28

def find_row_by_params(params)
  rows.detect do |row|
    required_row_fields.all? {|field| row[field] == params[field]}
  end
end

#get_checked_row_params(check_mark) ⇒ Object



80
81
82
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 80

def get_checked_row_params(check_mark)
  checked_rows.select {|row| row.checked == check_mark} .map {|row| row.attributes.only(*required_row_fields)}
end

#positively_checked_rowsObject



39
40
41
42
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 39

def positively_checked_rows
  return [] if rows.empty?
  rows.select {|row| ["and", "or"].include?(row.checked)}
end

#required?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 12

def required?
  required
end

#rows_checked_andObject



44
45
46
47
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 44

def rows_checked_and
  return [] if rows.empty?
  rows.select {|row| row.checked == 'and'}
end

#rows_checked_notObject



54
55
56
57
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 54

def rows_checked_not
  return [] if rows.empty?
  rows.select {|row| row.checked == 'not'}
end

#rows_checked_orObject



49
50
51
52
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 49

def rows_checked_or
  return [] if rows.empty?
  rows.select {|row| row.checked == 'or'}
end

#to_filterObject



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 64

def to_filter
  
  if show_missing
    build_filter
  else
    used_rows = checked_rows
    return nil if used_rows.empty?
    
    and_array  = get_checked_row_params('and')
    or_array   = get_checked_row_params('or')
    not_array  = get_checked_row_params('not')
    build_filter(and_array, or_array, not_array)
  end
    
end

#unchecked_rowsObject



59
60
61
62
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 59

def unchecked_rows
  return [] if rows.empty?
  rows.select {|row| row.checked? == false}
end

#unused?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 24

def unused?
  !used?
end

#used?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 20

def used?
  checked_rows.any? || show_missing
end

#used_or_required?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/mm_es_search/utils/facet_row_utils.rb', line 16

def used_or_required?
  used? || required?
end