# class SnippetsController

### Public Instance Methods

create() click to toggle source

    # File app/controllers/snippets_controller.rb, line 26
    def create
      @snippet = @project.snippets.new(params[:snippet])
      @snippet.author = current_user
      @snippet.save

      if @snippet.valid?
        redirect_to [@project, @snippet]
      else
        respond_with(@snippet)
      end
    end

destroy() click to toggle source

    # File app/controllers/snippets_controller.rb, line 55
    def destroy
      return access_denied! unless can?(current_user, :admin_snippet, @snippet)

      @snippet.destroy

      redirect_to project_snippets_path(@project)
    end

edit() click to toggle source

    # File app/controllers/snippets_controller.rb, line 38
    def edit
    end

index() click to toggle source

    # File app/controllers/snippets_controller.rb, line 18
    def index
      @snippets = @project.snippets
    end

new() click to toggle source

    # File app/controllers/snippets_controller.rb, line 22
    def new
      @snippet = @project.snippets.new
    end

raw() click to toggle source

    # File app/controllers/snippets_controller.rb, line 63
    def raw
      send_data(
        @snippet.content,
        type: "text/plain",
        disposition: 'inline',
        filename: @snippet.file_name
      )
    end

show() click to toggle source

    # File app/controllers/snippets_controller.rb, line 51
    def show
      @note = @project.notes.new(noteable: @snippet)
    end

update() click to toggle source

    # File app/controllers/snippets_controller.rb, line 41
    def update
      @snippet.update_attributes(params[:snippet])

      if @snippet.valid?
        redirect_to [@project, @snippet]
      else
        respond_with(@snippet)
      end
    end

### Protected Instance Methods

authorize_admin_snippet!() click to toggle source

    # File app/controllers/snippets_controller.rb, line 82
    def authorize_admin_snippet!
      return render_404 unless can?(current_user, :admin_snippet, @snippet)
    end

authorize_modify_snippet!() click to toggle source

    # File app/controllers/snippets_controller.rb, line 78
    def authorize_modify_snippet!
      return render_404 unless can?(current_user, :modify_snippet, @snippet)
    end

snippet() click to toggle source

    # File app/controllers/snippets_controller.rb, line 74
    def snippet
      @snippet ||= @project.snippets.find(params[:id])
    end