Class: Pageflow::ChaptersController Private

Inherits:
ApplicationController show all
Defined in:
app/controllers/pageflow/chapters_controller.rb

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Instance Method Summary collapse

Instance Method Details

#createObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



8
9
10
11
12
13
14
15
16
17
# File 'app/controllers/pageflow/chapters_controller.rb', line 8

def create
  storyline = Storyline.find(params[:storyline_id])
  chapter = storyline.chapters.build(chapter_params)

  authorize!(:create, chapter)
  verify_edit_lock!(storyline.entry)
  chapter.save

  respond_with(chapter)
end

#destroyObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



53
54
55
56
57
58
59
60
61
62
63
# File 'app/controllers/pageflow/chapters_controller.rb', line 53

def destroy
  chapter = Chapter.find(params[:id])

  authorize!(:destroy, chapter)
  verify_edit_lock!(chapter.entry)
  chapter.entry.snapshot(creator: current_user)

  chapter.destroy

  respond_with(chapter)
end

#orderObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



40
41
42
43
44
45
46
47
48
49
50
51
# File 'app/controllers/pageflow/chapters_controller.rb', line 40

def order
  storyline = Storyline.find(params[:storyline_id])
  entry = DraftEntry.new(storyline.entry)

  authorize!(:edit_outline, storyline.entry)
  verify_edit_lock!(storyline.entry)
  params.require(:ids).each_with_index do |id, index|
    entry.chapters.find(id).update(storyline_id: storyline.id, position: index)
  end

  head :no_content
end

#scaffoldObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



19
20
21
22
23
24
25
26
27
28
# File 'app/controllers/pageflow/chapters_controller.rb', line 19

def scaffold
  storyline = Storyline.find(params[:storyline_id])
  chapter_scaffold = ChapterScaffold.build(storyline, chapter_params, depth: 'page')

  authorize!(:create, chapter_scaffold.to_model)
  verify_edit_lock!(storyline.entry)
  chapter_scaffold.save!

  respond_with(chapter_scaffold)
end

#updateObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



30
31
32
33
34
35
36
37
38
# File 'app/controllers/pageflow/chapters_controller.rb', line 30

def update
  chapter = Chapter.find(params[:id])

  authorize!(:update, chapter)
  verify_edit_lock!(chapter.entry)
  chapter.update(chapter_params)

  respond_with(chapter)
end