Module: TheSortableTreeController::Rebuild

Includes:
DefineVariablesMethod
Defined in:
app/controllers/the_sortable_tree_controller.rb

Instance Method Summary collapse

Methods included from DefineVariablesMethod

#the_define_common_variables

Instance Method Details

#rebuildObject



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'app/controllers/the_sortable_tree_controller.rb', line 43

def rebuild
  id        = params[:id].to_i
  parent_id = params[:parent_id].to_i
  prev_id   = params[:prev_id].to_i
  next_id   = params[:next_id].to_i

  return head_respond(:no_content) if parent_id.zero? && prev_id.zero? && next_id.zero?

  variable, collection, klass = self.the_define_common_variables
  variable = self.instance_variable_set(variable, klass.find(id))

  if prev_id.zero? && next_id.zero?
    variable.move_to_child_of klass.find(parent_id)
  elsif !prev_id.zero?
    variable.move_to_right_of klass.find(prev_id)
  elsif !next_id.zero?
    variable.move_to_left_of klass.find(next_id)
  end

  head_respond
end