class MongodbLogger::ServerModel::Filter
Constants
- DEFAULT_LIMIT
- FIXED_PARAMS_ON_FORM
- FORM_NAME
dynamic filters
Attributes
mongo_conditions[R]
more_filters[RW]
params[R]
Public Class Methods
new(params)
click to toggle source
# File lib/mongodb_logger/server/model/filter.rb, line 14 def initialize(params) FIXED_PARAMS_ON_FORM.each do |key| create_variable(key, nil) end @params = params set_params_to_methods # limits self.limit = DEFAULT_LIMIT.to_s if self.limit.nil? # dynamic filters create_dynamic_filters # build mongo conditions build_mongo_conditions end
Public Instance Methods
build_mongo_conditions()
click to toggle source
# File lib/mongodb_logger/server/model/filter.rb, line 35 def build_mongo_conditions @mongo_conditions = Hash.new FIXED_PARAMS_ON_FORM.each do |param_key| value = self.send param_key mkey_val = case param_key when 'is_exception' (value ? true : nil) when 'limit' nil # skip else value end @mongo_conditions[param_key.to_s] = mkey_val if !mkey_val.nil? && !mkey_val.blank? end self.more_filters.each do |m_filter| unless m_filter.mongo_conditions.blank? cond = m_filter.mongo_conditions if @mongo_conditions[m_filter.key] && @mongo_conditions[m_filter.key].is_a?(Hash) @mongo_conditions[m_filter.key].merge!(cond[m_filter.key]) else @mongo_conditions.merge!(m_filter.mongo_conditions) end end end unless self.more_filters.blank? end
create_dynamic_filters()
click to toggle source
# File lib/mongodb_logger/server/model/filter.rb, line 28 def create_dynamic_filters self.more_filters = [] @params[AdditionalFilter::FORM_NAME].each do |filter| self.more_filters << AdditionalFilter.new(filter, self) end if !@params.blank? && @params[AdditionalFilter::FORM_NAME] && !@params[AdditionalFilter::FORM_NAME].blank? end
form_name()
click to toggle source
# File lib/mongodb_logger/server/model/filter.rb, line 70 def form_name FORM_NAME end
get_mongo_conditions()
click to toggle source
# File lib/mongodb_logger/server/model/filter.rb, line 62 def get_mongo_conditions @mongo_conditions end
get_mongo_limit()
click to toggle source
# File lib/mongodb_logger/server/model/filter.rb, line 66 def get_mongo_limit self.limit.to_i end