help@rskworld.in +91 93305 39277
RSK World
  • Home
  • Development
    • Web Development
    • Mobile Apps
    • Software
    • Games
    • Project
  • Technologies
    • Data Science
    • AI Development
    • Cloud Development
    • Blockchain
    • Cyber Security
    • Dev Tools
    • Testing Tools
  • Blog
  • About
  • Contact

Theme Settings

Color Scheme
Display Options
Font Size
100%
Back to Project
RSK World
ruby-todo-list
/
app
/
controllers
/
api
/
v1
RSK World
ruby-todo-list
Ruby Todo List - Task Management with User Authentication + Categories + Search + File Attachments + Email Notifications + Rails MVC + Modern Web Interface + API Integration + Educational Design
v1
  • base_controller.rb1023 B
  • categories_controller.rb722 B
  • tasks_controller.rb2.1 KB
tasks_controller.rb
app/controllers/api/v1/tasks_controller.rb
Raw Download
Find: Go to:
# Ruby To-Do List Application - API Tasks Controller
# Created by: Molla Samser (help@rskworld.in, +91 93305 39277)
# Address: Nutanhat, Mongolkote, Purba Burdwan, West Bengal, India, 713147
# Year: 2026

module Api
  module V1
    class TasksController < BaseController
      def index
        @tasks = current_user.tasks.includes(:category).order(priority: :desc, created_at: :desc)
        render_success(@tasks.as_json(include: :category))
      end

      def show
        @task = current_user.tasks.includes(:category).find(params[:id])
        render_success(@task.as_json(include: :category))
      end

      def create
        @task = current_user.tasks.build(task_params)

        if @task.save
          render_success(@task.as_json(include: :category), status: :created)
        else
          render_error(@task.errors.full_messages.join(', '))
        end
      end

      def update
        @task = current_user.tasks.find(params[:id])

        if @task.update(task_params)
          render_success(@task.as_json(include: :category))
        else
          render_error(@task.errors.full_messages.join(', '))
        end
      end

      def destroy
        @task = current_user.tasks.find(params[:id])
        @task.destroy
        render_success({ message: 'Task deleted successfully' })
      end

      def toggle_complete
        @task = current_user.tasks.find(params[:id])
        @task.toggle_completion!
        render_success(@task.as_json(include: :category))
      end

      def completed
        @tasks = current_user.tasks.completed.includes(:category).order(completed_at: :desc)
        render_success(@tasks.as_json(include: :category))
      end

      def pending
        @tasks = current_user.tasks.pending.includes(:category).order(priority: :desc, created_at: :desc)
        render_success(@tasks.as_json(include: :category))
      end

      private

      def task_params
        params.require(:task).permit(:title, :description, :priority, :due_date, :completed, :category_id)
      end
    end
  end
end
68 lines•2.1 KB
ruby

About RSK World

Founded by Molla Samser, with Designer & Tester Rima Khatun, RSK World is your one-stop destination for free programming resources, source code, and development tools.

Founder: Molla Samser
Designer & Tester: Rima Khatun

Development

  • Game Development
  • Web Development
  • Mobile Development
  • AI Development
  • Development Tools

Legal

  • Terms & Conditions
  • Privacy Policy
  • Disclaimer

Contact Info

Nutanhat, Mongolkote
Purba Burdwan, West Bengal
India, 713147

+91 93305 39277

hello@rskworld.in
support@rskworld.in

© 2026 RSK World. All rights reserved.

Content used for educational purposes only. View Disclaimer