Class: Melaya::ProjectsAPI
- Inherits:
-
Object
- Object
- Melaya::ProjectsAPI
- Defined in:
- lib/melaya/projects.rb
Overview
Projects API — create and list agent projects.
Projects are the top-level namespace for pipelines, connectors, and team membership in the Melaya platform.
Maps to /api/v1/private/projects/*.
Instance Method Summary collapse
-
#create(name:, description: nil) ⇒ Object
POST /api/v1/private/projects Create a new agent project.
-
#initialize(http) ⇒ ProjectsAPI
constructor
A new instance of ProjectsAPI.
-
#list ⇒ Object
GET /api/v1/private/projects List all projects the authenticated user can access (owned projects + projects they are a member of).
-
#rename(old_name:, new_name:) ⇒ Object
PATCH /api/v1/private/projects/rename Rename a project (body: oldName, newName).
-
#runner_projects ⇒ Object
GET /api/v1/private/projects/runner Get projects list (runner-facing, authed).
Constructor Details
#initialize(http) ⇒ ProjectsAPI
Returns a new instance of ProjectsAPI.
16 17 18 |
# File 'lib/melaya/projects.rb', line 16 def initialize(http) @http = http end |
Instance Method Details
#create(name:, description: nil) ⇒ Object
POST /api/v1/private/projects Create a new agent project.
31 32 33 34 |
# File 'lib/melaya/projects.rb', line 31 def create(name:, description: nil) body = compact("name" => name, "description" => description) @http.post("/api/v1/private/projects", body) end |
#list ⇒ Object
GET /api/v1/private/projects List all projects the authenticated user can access (owned projects + projects they are a member of).
23 24 25 |
# File 'lib/melaya/projects.rb', line 23 def list @http.get("/api/v1/private/projects") end |
#rename(old_name:, new_name:) ⇒ Object
PATCH /api/v1/private/projects/rename Rename a project (body: oldName, newName).
40 41 42 43 44 |
# File 'lib/melaya/projects.rb', line 40 def rename(old_name:, new_name:) @http.patch("/api/v1/private/projects/rename", "oldName" => old_name, "newName" => new_name) end |
#runner_projects ⇒ Object
GET /api/v1/private/projects/runner Get projects list (runner-facing, authed).
48 49 50 |
# File 'lib/melaya/projects.rb', line 48 def runner_projects @http.get("/api/v1/private/projects/runner") end |