Module: Pureapi::MongoidModel
Overview
Provide methods (override, polymorphic) for use data handling # => comfortable with gem mongoid
Constant Summary collapse
- MONGODB_COMPARISON_OPERATORS =
Define constants Need upgrade with nlike operation
{ ne: '$ne', gt: '$gt', lt: '$lt', gte: '$gte', lte: '$lte', like: '$regex', regex: '$regex', }
- MONGODB_LOGICAL_OPERATORS =
{ in: '$in' }
Constants included from Model
Pureapi::Model::COMPARISON_OPERATORS, Pureapi::Model::COMPARISON_OPERATORS_INVERT, Pureapi::Model::LOGICAL_OPERATORS, Pureapi::Model::LOGICAL_OPERATORS_INVERT, Pureapi::Model::NULL_OPERATORS, Pureapi::Model::NULL_OPERATOR_KEYS, Pureapi::Model::PERMIT_OPERATORS, Pureapi::Model::REFLECT_OPERATORS
Instance Method Summary collapse
- #column_names ⇒ Object
-
#compconds(params = []) ⇒ Object
Rewrite for comfortable with mongoid Comparsion operator conditions method Array
params
contains hash = o, v :f is column name :o is comparsion operator :v is value. -
#logicconds(params = []) ⇒ Object
Comparsion operator conditions method Array
params
contains hash = o, v :f is column name :o is comparsion operator :v is value.
Methods included from Model
#_include_search, #_json_fields, #_search_fields, #_self_search, #advanced_search, #as_json_fields, #asjson_fields, #compcond_columns, #compcond_fields, #compcond_match, #compcond_regexp, #compcond_regexp2nd, #compcond_search, #default_includes, #default_onlyasjsons, #full_search, #get_includes, #include_entities, #incond_columns, #json_method_includes, #json_methods, #of_entities, #paginate
Instance Method Details
#column_names ⇒ Object
27 28 29 |
# File 'lib/pureapi/mongoid_model.rb', line 27 def column_names self.attribute_names end |
#compconds(params = []) ⇒ Object
Rewrite for comfortable with mongoid Comparsion operator conditions method Array params
contains hash = o, v :f is column name :o is comparsion operator :v is value
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# 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 = []) ⇒ Object
Comparsion operator conditions method Array params
contains hash = o, v :f is column name :o is comparsion operator :v is value
58 59 60 61 62 63 64 65 66 67 68 |
# 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 |