Sha256: 18a00815b0c8cd556a052e96aa3b50f093fd4d613003cf4d6b54a86d12abb42e

Contents?: true

Size: 834 Bytes

Versions: 8

Compression:

Stored size: 834 Bytes

Contents

require_dependency "storytime/application_controller"

module Storytime
  module Dashboard
    class AutosavesController < DashboardController
      before_action :set_post, only: [:create]

      skip_after_action :verify_authorized, only: [:create]

      respond_to :json

      def create
        if @post.autosave.nil? || (@post.autosave.content != params[:post][:draft_content])
          @post.create_autosave(autosave_params)
        end

        head :ok
      end

      private

        def set_post
          @post = Storytime::Post.friendly.find(params[:post_id])
        end

        def autosave_params
          post = @post || current_post_type.new(user: current_user)
          permitted_attrs = policy(post).permitted_attributes
          params.require(:post).permit(*permitted_attrs)
        end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
storytime-1.2.0 app/controllers/storytime/dashboard/autosaves_controller.rb
storytime-1.1.1 app/controllers/storytime/dashboard/autosaves_controller.rb
storytime-1.0.7 app/controllers/storytime/dashboard/autosaves_controller.rb
storytime-1.0.6 app/controllers/storytime/dashboard/autosaves_controller.rb
storytime-1.0.5 app/controllers/storytime/dashboard/autosaves_controller.rb
storytime-1.0.2 app/controllers/storytime/dashboard/autosaves_controller.rb
storytime-1.0.1 app/controllers/storytime/dashboard/autosaves_controller.rb
storytime-1.0.0 app/controllers/storytime/dashboard/autosaves_controller.rb