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
111 112 113 114 |
# File 'lib/texticle.rb', line 111 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
75 76 77 78 79 80 81 |
# File 'lib/texticle.rb', line 75 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
91 92 93 94 95 96 97 98 99 |
# File 'lib/texticle.rb', line 91 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
83 84 85 86 87 88 89 |
# File 'lib/texticle.rb', line 83 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
101 102 103 104 105 106 107 108 109 |
# File 'lib/texticle.rb', line 101 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
71 72 73 |
# File 'lib/texticle.rb', line 71 def normalize(query) query.to_s.gsub(' ', '\\\\ ') end |