class MongodbLogger::ServerModel::AdditionalFilter
Constants
- FIXED_PARAMS_ON_FORM
- FORM_NAME
- VAR_TYPES
- VAR_TYPE_CONDITIONS
- VAR_TYPE_VALUES
Attributes
filter_model[R]
form_data[R]
Public Class Methods
get_type_index(type)
click to toggle source
# File lib/mongodb_logger/server/model/additional_filter.rb, line 37 def self.get_type_index(type) type.nil? ? 0 : VAR_TYPES.index(type) end
new(params, filter_model)
click to toggle source
# File lib/mongodb_logger/server/model/additional_filter.rb, line 28 def initialize(params, filter_model) @filter_model = filter_model @params = params FIXED_PARAMS_ON_FORM.each do |key| create_variable(key, nil) end set_params_to_methods end
Public Instance Methods
form_name()
click to toggle source
# File lib/mongodb_logger/server/model/additional_filter.rb, line 53 def form_name "#{filter_model.form_name}[#{FORM_NAME}][]" end
get_type_index()
click to toggle source
# File lib/mongodb_logger/server/model/additional_filter.rb, line 41 def get_type_index @type.nil? ? 0 : VAR_TYPES.index(@type) end
is_selected_values?()
click to toggle source
# File lib/mongodb_logger/server/model/additional_filter.rb, line 49 def is_selected_values? !VAR_TYPE_VALUES[get_type_index].blank? end
mongo_conditions()
click to toggle source
# File lib/mongodb_logger/server/model/additional_filter.rb, line 57 def mongo_conditions data = Hash.new return data if self.key.blank? m_value = case self.type when "integer" self.value.to_i when "boolean" ("true" == self.value || "1" == self.value) ? true : false when "date" val_date = Date.parse(self.value) rescue nil Time.utc(val_date.year, val_date.month, val_date.day) unless val_date.nil? else self.value end data = case self.condition when "equals" {"#{self.key}" => m_value } when "not equals" {"#{self.key}" => { "$ne" => m_value }} when "exists" {"#{self.key}" => { "$exists" => m_value }} when "regexes" {"#{self.key}" => { "$regex" => m_value, "$options" => 'i' }} when "<" {"#{self.key}" => { "$lt" => m_value }} when "<=" {"#{self.key}" => { "$lte" => m_value }} when ">" {"#{self.key}" => { "$gt" => m_value }} when ">=" {"#{self.key}" => { "$gte" => m_value }} else Hash.new end data end
selected_values()
click to toggle source
# File lib/mongodb_logger/server/model/additional_filter.rb, line 45 def selected_values VAR_TYPE_VALUES[get_type_index] end