Module: MakeModelSearchable
- Defined in:
- lib/make_model_searchable.rb,
lib/make_model_searchable/version.rb
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- VERSION =
"0.1.1"
Instance Method Summary collapse
- #get_valid_fields(options) ⇒ Object
- #searchable_attributes(*options) ⇒ Object
- #setup_fields(options) ⇒ Object
Instance Method Details
#get_valid_fields(options) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/make_model_searchable.rb', line 21 def get_valid_fields() column_names = self.columns.map(&:name) column_types = self.columns.map(&:type) searchable_columns = [] if column_names.length == column_types.length column_names.each_with_index do |column_name, index| searchable_columns << column_name if column_types[index].to_sym == :string end end if searchable_columns.present? .select{ |option| searchable_columns.include?(option) } else = [] end end |
#searchable_attributes(*options) ⇒ Object
6 7 8 9 10 11 |
# File 'lib/make_model_searchable.rb', line 6 def searchable_attributes(*) = .collect{ |option| option.to_s } self.connection setup_fields() self.extend(ClassMethods) end |
#setup_fields(options) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/make_model_searchable.rb', line 13 def setup_fields() unless .present? = self.column_names end valid_fields = get_valid_fields() self.instance_variable_set(:@selected_fields, valid_fields) end |