class MongoidEmbedFinder::NestedBuilder
Public Class Methods
new(nested_attrs, relations)
click to toggle source
# File lib/mongoid_embed_finder/nested_builder.rb, line 3 def initialize(nested_attrs, relations) @nested_attrs = nested_attrs @relations = relations end
Public Instance Methods
build_child()
click to toggle source
# File lib/mongoid_embed_finder/nested_builder.rb, line 8 def build_child return nil if children_attributes.empty? @relations.child_class.new(children_attributes.first).tap do |child| child.public_send(@relations.parent.setter, build_parent) end end
build_parent()
click to toggle source
# File lib/mongoid_embed_finder/nested_builder.rb, line 16 def build_parent @relations.parent_class.new(parent_attributes) end
children_attributes()
click to toggle source
# File lib/mongoid_embed_finder/nested_builder.rb, line 20 def children_attributes @children_attributes ||= @nested_attrs.fetch(@relations.children.key) end
parent_attributes()
click to toggle source
# File lib/mongoid_embed_finder/nested_builder.rb, line 24 def parent_attributes @parent_attributes ||= @nested_attrs.except(@relations.children.key) end