Module: ActiveHashRelation::ColumnFilters
- Included in:
- FilterApplier
- Defined in:
- lib/active_hash_relation/column_filters.rb
Instance Method Summary collapse
- #filter_boolean(resource, column, param) ⇒ Object
- #filter_date(resource, column, table_name, param) ⇒ Object
- #filter_datetime(resource, column, table_name, param) ⇒ Object
- #filter_decimal(resource, column, table_name, param) ⇒ Object
- #filter_float(resource, column, table_name, param) ⇒ Object
- #filter_integer(resource, column, table_name, param) ⇒ Object
- #filter_primary(resource, column, param) ⇒ Object
- #filter_string(resource, column, table_name, param) ⇒ Object
- #filter_text(resource, column, param) ⇒ Object
Instance Method Details
#filter_boolean(resource, column, param) ⇒ Object
66 67 68 69 70 |
# File 'lib/active_hash_relation/column_filters.rb', line 66 def filter_boolean(resource, column, param) b_param = ActiveRecord::Type::Boolean.new.type_cast_from_database(param) resource = resource.where(column => b_param) end |
#filter_date(resource, column, table_name, param) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/active_hash_relation/column_filters.rb', line 40 def filter_date(resource, column, table_name, param) if param.is_a? Array n_param = param.to_s.gsub("\"","'").gsub("[","").gsub("]","") #fix this! return resource.where("#{table_name}.#{column} IN (#{n_param})") elsif param.is_a? Hash return apply_leq_geq_le_ge_filters(resource, table_name, column, param) else resource = resource.where(column => param) end return resource end |
#filter_datetime(resource, column, table_name, param) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/active_hash_relation/column_filters.rb', line 53 def filter_datetime(resource, column, table_name, param) if param.is_a? Array n_param = param.to_s.gsub("\"","'").gsub("[","").gsub("]","") #fix this! return resource = resource.where("#{table_name}.#{column} IN (#{n_param})") elsif param.is_a? Hash return apply_leq_geq_le_ge_filters(resource, table_name, column, param) else resource = resource.where(column => param) end return resource end |
#filter_decimal(resource, column, table_name, param) ⇒ Object
21 22 23 |
# File 'lib/active_hash_relation/column_filters.rb', line 21 def filter_decimal(resource, column, table_name, param) filter_integer(resource, column, table_name, param) end |
#filter_float(resource, column, table_name, param) ⇒ Object
17 18 19 |
# File 'lib/active_hash_relation/column_filters.rb', line 17 def filter_float(resource, column, table_name, param) filter_integer(resource, column, table_name, param) end |
#filter_integer(resource, column, table_name, param) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/active_hash_relation/column_filters.rb', line 6 def filter_integer(resource, column, table_name, param) if param.is_a? Array n_param = param.to_s.gsub("\"","'").gsub("[","").gsub("]","") #fix this! return resource.where("#{table_name}.#{column} IN (#{n_param})") elsif param.is_a? Hash return apply_leq_geq_le_ge_filters(resource, table_name, column, param) else return resource.where("#{table_name}.#{column} = ?", param) end end |
#filter_primary(resource, column, param) ⇒ Object
2 3 4 |
# File 'lib/active_hash_relation/column_filters.rb', line 2 def filter_primary(resource, column, param) resource = resource.where(id: param) end |
#filter_string(resource, column, table_name, param) ⇒ Object
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/active_hash_relation/column_filters.rb', line 25 def filter_string(resource, column, table_name, param) if param.is_a? Array n_param = param.to_s.gsub("\"","'").gsub("[","").gsub("]","") #fix this! return resource.where("#{table_name}.#{column} IN (#{n_param})") elsif param.is_a? Hash return apply_like_filters(resource, table_name, column, param) else return resource.where("#{table_name}.#{column} = ?", param) end end |
#filter_text(resource, column, param) ⇒ Object
36 37 38 |
# File 'lib/active_hash_relation/column_filters.rb', line 36 def filter_text(resource, column, param) return filter_string(resource, column, param) end |