Class: DocumentationEditor::PagesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/documentation_editor/pages_controller.rb

Instance Method Summary collapse

Instance Method Details

#create ⇒ Object



35
36
37
38
39
40
41
# File 'app/controllers/documentation_editor/pages_controller.rb', line 35

def create
  p = Page.new
  p.author_id = respond_to?(:current_user) ? current_user.id : nil
  p.slug = params[:page][:slug]
  p.save!
  redirect_to edit_page_path(p)
end

#destroy ⇒ Object



55
56
57
58
# File 'app/controllers/documentation_editor/pages_controller.rb', line 55

def destroy
  @page.destroy
  redirect_to :admin
end

#diff ⇒ Object



75
76
77
# File 'app/controllers/documentation_editor/pages_controller.rb', line 75

def diff
  render inline: Diffy::Diff.new(Revision.find(params[:prev]).content, Revision.find(params[:cur]).content, context: 5, include_plus_and_minus_in_html: true, include_diff_info: true).to_s(:html)
end

#edit ⇒ Object



23
24
# File 'app/controllers/documentation_editor/pages_controller.rb', line 23

def edit
end

#history ⇒ Object



68
69
# File 'app/controllers/documentation_editor/pages_controller.rb', line 68

def history
end

#index ⇒ Object



20
21
# File 'app/controllers/documentation_editor/pages_controller.rb', line 20

def index
end

#preview ⇒ Object



43
44
45
46
# File 'app/controllers/documentation_editor/pages_controller.rb', line 43

def preview
  @revision = @page.revisions.last
  @options = params
end

#show ⇒ Object



48
49
50
51
52
53
# File 'app/controllers/documentation_editor/pages_controller.rb', line 48

def show
  @page = Page.find_by(slug: params[:slug])
  @revision = @page.published_revision
  @options = params
  render :preview
end

#source ⇒ Object



26
27
28
# File 'app/controllers/documentation_editor/pages_controller.rb', line 26

def source
  render json: { source: (@page.revisions.last.try(:content) || 'FIXME') }
end

#update ⇒ Object



30
31
32
33
# File 'app/controllers/documentation_editor/pages_controller.rb', line 30

def update
  @page.add_revision!(params[:data], params[:preview].to_s == 'false', respond_to?(:current_user) ? current_user.id : nil)
  render nothing: true
end

#upload_image ⇒ Object



60
61
62
63
64
65
66
# File 'app/controllers/documentation_editor/pages_controller.rb', line 60

def upload_image
  image = Image.new
  image.caption = params[:caption]
  image.image = params[:file]
  image.save!
  render json: { id: image.id, url: image.image.url }
end

#versions ⇒ Object



71
72
73
# File 'app/controllers/documentation_editor/pages_controller.rb', line 71

def versions
  render json: { revisions: @page.revisions.order('id DESC').all }
end