class HideAncestry::ModelManage::Restore

Public Instance Methods

call() click to toggle source
# File lib/hide_ancestry/model_manage/restore.rb, line 4
def call
  instance.reload
  restore_parent
  restore_children
  change_hidden_status(false)
end

Private Instance Methods

restore_children() click to toggle source
# File lib/hide_ancestry/model_manage/restore.rb, line 19
def restore_children
  instance.old_child_ids.each do |child_id|
    child = instance.class.find_by id: child_id

    next unless child
    next if child.hidden?

    child.update_attribute :parent_id, instance.id
  end
end
restore_parent() click to toggle source
# File lib/hide_ancestry/model_manage/restore.rb, line 13
def restore_parent
  unless instance.parent_id
    instance.update_attribute :parent_id, instance.find_first_real_parent&.id
  end
end