module Mongoid::Contextual
Private Instance Methods
calc_new_collection_name(query_class)
click to toggle source
# File lib/mongoid/collection_separated/monkey_patches.rb, line 40 def calc_new_collection_name query_class return unless query_class.respond_to?(:separated_field) && query_class.send(:separated_field).present? return unless query_class.respond_to?(:calc_collection_name_fun) && query_class.respond_to?(query_class.calc_collection_name_fun) collection_name_for query_class, separated_value(query_class) end
create_context()
Also aliased as: create_context_without_separated
Alias for: create_context_with_separated
create_context_with_separated()
click to toggle source
Changes:
-
Get form_id from selector
-
If collection is entries, not matter from context or current collection object, and form has entries_separated flag set, set collection name instance variable to entries plus form_id as new collection name
# File lib/mongoid/collection_separated/monkey_patches.rb, line 28 def create_context_with_separated context = create_context_without_separated query_class = instance_variable_get :@klass new_collection_name = calc_new_collection_name query_class unless new_collection_name.blank? context.collection.instance_variable_set :@name, new_collection_name collection.instance_variable_set :@name, new_collection_name end instance_variable_set :@context, context context end
Also aliased as: create_context
separated_selector(query_class)
click to toggle source
# File lib/mongoid/collection_separated/monkey_patches.rb, line 56 def separated_selector query_class selector[query_class.separated_field.to_s] end
separated_value(query_class)
click to toggle source
# File lib/mongoid/collection_separated/monkey_patches.rb, line 46 def separated_value query_class value = separated_selector(query_class) value = separated_value_from_query_in_with_only_one_value(query_class) if value.is_a?(Hash) value end
separated_value_from_query_in_with_only_one_value(query_class)
click to toggle source
# File lib/mongoid/collection_separated/monkey_patches.rb, line 52 def separated_value_from_query_in_with_only_one_value query_class separated_selector(query_class)['$in']&.first end