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
107 108 109 110 |
# File 'lib/texticle.rb', line 107 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
71 72 73 74 75 76 77 |
# File 'lib/texticle.rb', line 71 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
87 88 89 90 91 92 93 94 95 |
# File 'lib/texticle.rb', line 87 def exclusive_dynamic_search_method?(method, class_columns) string_columns = class_columns.select {|column| column.type == :string }.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
79 80 81 82 83 84 85 |
# File 'lib/texticle.rb', line 79 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
97 98 99 100 101 102 103 104 105 |
# File 'lib/texticle.rb', line 97 def inclusive_dynamic_search_method?(method, class_columns) string_columns = class_columns.select {|column| column.type == :string }.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
67 68 69 |
# File 'lib/texticle.rb', line 67 def normalize(query) query.to_s.gsub(' ', '\\\\ ') end |