module Pureapi::MongoidModel
Provide methods (override, polymorphic) for use data handling # => comfortable with gem mongoid
Constants
- MONGODB_COMPARISON_OPERATORS
Define constants Need upgrade with nlike operation
- MONGODB_LOGICAL_OPERATORS
Public Instance Methods
column_names()
click to toggle source
# File lib/pureapi/mongoid_model.rb, line 27 def column_names self.attribute_names end
compconds(params = [])
click to toggle source
Rewrite for comfortable with mongoid Comparsion operator conditions method Array params
contains hash = {f, o, v} :f is column name :o is comparsion operator :v is value
# File lib/pureapi/mongoid_model.rb, line 37 def compconds(params = []) criterias = self queries = {} params.each do |param| if param[:o] == '=' queries[param[:f]] = param[:v] else queries[param[:f]] = queries[param[:f]].is_a?(Hash) ? queries[param[:f]] : {} queries[param[:f]][MONGODB_COMPARISON_OPERATORS[Pureapi::Model::COMPARISON_OPERATORS_INVERT[param[:o]]]] = param[:v] end end return criterias.where(queries) end
logicconds(params = [])
click to toggle source
Comparsion operator conditions method Array params
contains hash = {f, o, v} :f is column name :o is comparsion operator :v is value
# File lib/pureapi/mongoid_model.rb, line 58 def logicconds(params = []) criterias = self params.each do |param| if param[:o] == Pureapi::Model::LOGICAL_OPERATORS[:in] criterias = criterias.in(param[:f] => param[:v]) end end return criterias.where({}) end