Class: DocumentationEditor::PagesController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ApplicationController
- DocumentationEditor::PagesController
- Defined in:
- app/controllers/documentation_editor/pages_controller.rb
Instance Method Summary collapse
- #commit ⇒ Object
- #create ⇒ Object
- #destroy ⇒ Object
- #diff ⇒ Object
- #edit ⇒ Object
- #history ⇒ Object
- #index ⇒ Object
- #preview ⇒ Object
- #show ⇒ Object
- #source ⇒ Object
- #update ⇒ Object
- #upload_image ⇒ Object
- #versions ⇒ Object
Instance Method Details
#commit ⇒ Object
41 42 43 44 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 41 def commit @page.add_revision!(params[:data], params[:preview].to_s == 'false', respond_to?(:current_user) ? current_user.id : nil) render nothing: true end |
#create ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 46 def create p = Page.new p. = respond_to?(:current_user) ? current_user.id : nil p.title = params[:page][:title] p.slug = params[:page][:slug] p.save! redirect_to edit_page_path(p) end |
#destroy ⇒ Object
67 68 69 70 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 67 def destroy @page.destroy redirect_to :admin end |
#diff ⇒ Object
87 88 89 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 87 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
27 28 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 27 def edit end |
#history ⇒ Object
80 81 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 80 def history end |
#index ⇒ Object
24 25 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 24 def index end |
#preview ⇒ Object
55 56 57 58 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 55 def preview @revision = @page.revisions.last @options = params end |
#show ⇒ Object
60 61 62 63 64 65 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 60 def show @page = Page.find_by!(slug: params[:slug]) @revision = @page.published_revision @options = params render :preview end |
#source ⇒ Object
30 31 32 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 30 def source render json: { source: (@page.revisions.last.try(:content) || 'FIXME') } end |
#update ⇒ Object
34 35 36 37 38 39 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 34 def update @page.title = params[:page][:title] unless params[:page][:title].nil? @page.slug = params[:page][:slug] unless params[:page][:slug].nil? @page.save! render nothing: true end |
#upload_image ⇒ Object
72 73 74 75 76 77 78 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 72 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
83 84 85 |
# File 'app/controllers/documentation_editor/pages_controller.rb', line 83 def versions render json: { revisions: @page.revisions.order('id DESC').all } end |