Module: Texticle::Helper
- Defined in:
- lib/texticle.rb
Class Method Summary collapse
- .dynamic_search_method?(method, class_columns) ⇒ Boolean
- .exclusive_dynamic_search_columns(method) ⇒ Object
- .exclusive_dynamic_search_method?(method, class_columns) ⇒ Boolean
- .inclusive_dynamic_search_columns(method) ⇒ Object
- .inclusive_dynamic_search_method?(method, class_columns) ⇒ Boolean
- .normalize(query) ⇒ Object
Class Method Details
.dynamic_search_method?(method, class_columns) ⇒ Boolean
123 124 125 126 |
# File 'lib/texticle.rb', line 123 def dynamic_search_method?(method, class_columns) exclusive_dynamic_search_method?(method, class_columns) or inclusive_dynamic_search_method?(method, class_columns) end |
.exclusive_dynamic_search_columns(method) ⇒ Object
87 88 89 90 91 92 93 |
# File 'lib/texticle.rb', line 87 def exclusive_dynamic_search_columns(method) if match = method.to_s.match(/^search_by_(?<columns>[_a-zA-Z]\w*)$/) match[:columns].split('_and_') else [] end end |
.exclusive_dynamic_search_method?(method, class_columns) ⇒ Boolean
103 104 105 106 107 108 109 110 111 |
# File 'lib/texticle.rb', line 103 def exclusive_dynamic_search_method?(method, class_columns) string_columns = class_columns.map(&:name) columns = exclusive_dynamic_search_columns(method) unless columns.empty? columns.all? {|column| string_columns.include?(column) } else false end end |
.inclusive_dynamic_search_columns(method) ⇒ Object
95 96 97 98 99 100 101 |
# File 'lib/texticle.rb', line 95 def inclusive_dynamic_search_columns(method) if match = method.to_s.match(/^search_by_(?<columns>[_a-zA-Z]\w*)$/) match[:columns].split('_or_') else [] end end |
.inclusive_dynamic_search_method?(method, class_columns) ⇒ Boolean
113 114 115 116 117 118 119 120 121 |
# File 'lib/texticle.rb', line 113 def inclusive_dynamic_search_method?(method, class_columns) string_columns = class_columns.map(&:name) columns = inclusive_dynamic_search_columns(method) unless columns.empty? columns.all? {|column| string_columns.include?(column) } else false end end |
.normalize(query) ⇒ Object
83 84 85 |
# File 'lib/texticle.rb', line 83 def normalize(query) query.to_s.gsub(' ', '\\\\ ') end |