Class: Vario::LevelsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/vario/levels_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#add_breadcrumbs, #breadcrumb_settings_path

Instance Method Details

#createObject



10
11
12
13
14
15
16
17
18
# File 'app/controllers/vario/levels_controller.rb', line 10

def create
  @level = Level.new(@setting, level_params)
  @setting.levels.unshift @level
  @level.conditions = normalize_booleans(level_params[:conditions].to_h)
  @level.conditions = normalize_booleans(level_params[:conditions].to_h)
  @setting.save

  respond_with @setting, collection_location: -> { setting_path(@setting) }
end

#destroyObject



34
35
36
37
38
39
# File 'app/controllers/vario/levels_controller.rb', line 34

def destroy
  @setting.levels.reject! { |level| level.id == params[:id] }
  @setting.save

  respond_with @setting, collection_location: -> { setting_path(@setting) }
end

#moveObject



41
42
43
44
45
46
47
48
# File 'app/controllers/vario/levels_controller.rb', line 41

def move
  oldIndex = @setting.levels.find_index { |level| level.id == params[:id] }
  newIndex = params[:index]
  @level = @setting.levels[oldIndex]
  @level.move(oldIndex - newIndex)

  render json: { old: oldIndex, new: newIndex }
end

#updateObject



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/controllers/vario/levels_controller.rb', line 20

def update
  if params[:commit] == 'delete'
    self.action_name = 'destroy'
    return destroy
  end

  @level = @setting.levels.find { |level| level.id == params[:id] }
  @level.value = level_params[:value]
  @level.conditions = normalize_booleans(level_params[:conditions].to_h)
  @setting.save

  respond_with @setting, collection_location: -> { setting_path(@setting) }
end