class BanalComplex

typed: true

Public Instance Methods

calculate_and_save_combined_weight!() click to toggle source
# File server/redux-os/app/models/banal_complex.rb, line 13
def calculate_and_save_combined_weight!
    update_column(:weight_of_identity_plus_children, self.descendants.map(&:weight).sum)
end
delete_childrens() click to toggle source
# File server/redux-os/app/models/banal_complex.rb, line 8
def delete_childrens
    self.children.destroy_all
end
descendants() click to toggle source

fails as a ruby keyword mayb? like §Fails as a directive like §Idempotent

# File server/redux-os/app/models/banal_complex.rb, line 18
def descendants
    first_level_children = self.class.where(parent_id: self.id)
    second_level_children = first_level_children
        .pluck(:id)
        .reject { |id| id == self.id }
        .tap { |ids| puts ids.inspect + self.inspect }
        .map { |id| self.class.where(parent_id: id) }.flatten

    first_level_children + second_level_children
end