improve (and fix) parsing

This commit is contained in:
Felix Van der Jeugt 2015-09-11 11:55:26 +02:00
parent dd7fc618b6
commit d336e778f7

View file

@ -60,7 +60,8 @@ class DataTable
columns: Hash.new
}
params.require(:columns).each do |i, column|
type, value = column.require(:search)[:value].split(':')
type, *values = column.require(:search)[:value].split(':')
value = values.join(':') unless values.empty?
h = clean[:columns][column.require(:data).to_sym] = {
name: column[:name],
searchable: column[:searchable] == 'true',
@ -68,9 +69,13 @@ class DataTable
type: type
}
if type == 'number-range'
h[:lower], h[:upper] = value.split('~').map &:to_i
h[:lower], h[:upper] = value.split('~').map do |euros|
(euros.to_f * 100).to_i rescue nil
end
elsif type == 'date-range'
h[:lower], h[:upper] = value.split('~').map &:to_datetime
h[:lower], h[:upper] = value.split('~').map do |string|
string.to_datetime rescue nil
end
else
h[:value] = value
end