Class: Wice::Columns::ConditionsGeneratorColumnInteger
- Inherits:
-
ConditionsGeneratorColumn
- Object
- ConditionsGeneratorColumn
- Wice::Columns::ConditionsGeneratorColumnInteger
- Defined in:
- lib/wice/columns/column_integer.rb
Overview
:nodoc:
Instance Method Summary collapse
Methods inherited from ConditionsGeneratorColumn
Constructor Details
This class inherits a constructor from Wice::Columns::ConditionsGeneratorColumn
Instance Method Details
#generate_conditions(table_alias, opts) ⇒ Object
:nodoc:
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/wice/columns/column_integer.rb', line 55 def generate_conditions(table_alias, opts) #:nodoc: unless opts.kind_of? Hash Wice.log "invalid parameters for the grid integer filter - must be a hash" return false end conditions = [[]] if opts[:eq] op, num = get_op_and_value(opts[:eq]) if op && num conditions[0] << " #{@column_wrapper.alias_or_table_name(table_alias)}.#{@column_wrapper.name} " + op + " ? " conditions << num else opts.delete(:eq) end end if conditions.size == 1 return false end conditions[0] = conditions[0].join(' and ') conditions end |
#get_op_and_value(val) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/wice/columns/column_integer.rb', line 37 def get_op_and_value(val) num = nil op = nil # remove spaces val = val.gsub(' ','') first_digit_or_dot_index = val =~ /[0-9.]/ if first_digit_or_dot_index op = val[0...first_digit_or_dot_index] op = '=' if op == '' num = Float(val[first_digit_or_dot_index..-1]) rescue nil op = nil unless ['<','>','<=','>=','='].include?(op) end [op, num] end |