class Rethinker::Relation::HasMany::Selection
Attributes
parent_instance[RW]
relation[RW]
Public Class Methods
new(parent_instance, relation)
click to toggle source
Calls superclass method
# File lib/rethinker/relation/has_many/selection.rb, line 5 def initialize(parent_instance, relation) self.relation = relation self.parent_instance = parent_instance super children_klass.where(foreign_key => parent_instance.id).criteria, klass: children_klass end
Public Instance Methods
<<(child)
click to toggle source
# File lib/rethinker/relation/has_many/selection.rb, line 11 def <<(child) # TODO raise when child doesn't have the proper type child.update_attributes(foreign_key => parent_instance.id) end
build(attrs={})
click to toggle source
# File lib/rethinker/relation/has_many/selection.rb, line 16 def build(attrs={}) children_klass.new(attrs.merge(foreign_key => parent_instance.id)) end
create(*args)
click to toggle source
# File lib/rethinker/relation/has_many/selection.rb, line 20 def create(*args) build(*args).tap { |doc| doc.save } end
create!(*args)
click to toggle source
# File lib/rethinker/relation/has_many/selection.rb, line 24 def create!(*args) build(*args).tap { |doc| doc.save! } end