class MongoidEmbedFinder::RelationDiscovery

Public Instance Methods

relations() click to toggle source
# File lib/mongoid_embed_finder/relation_discovery.rb, line 6
def relations
  @relations ||= OpenStruct.new(
    child_class:  child_class,
    parent_class: parent_class,
    children:     find_children_relation,
    parent:       find_parent_relation)
end

Private Instance Methods

find_children_relation() click to toggle source
# File lib/mongoid_embed_finder/relation_discovery.rb, line 24
def find_children_relation
  @children_relation ||= parent_class.relations.values
    .find { |v| v.class_name == child_class.name }
end
find_parent_relation() click to toggle source
# File lib/mongoid_embed_finder/relation_discovery.rb, line 16
def find_parent_relation
  @parent_relation ||= child_class.relations.fetch(relation_name.to_s)
end
parent_class() click to toggle source
# File lib/mongoid_embed_finder/relation_discovery.rb, line 20
def parent_class
  @parent_class ||= find_parent_relation.class_name.constantize
end