Class: LinearToonMcp::Tools::SaveInitiative

Inherits:
Base
  • Object
show all
Defined in:
lib/linear_toon_mcp/tools/save_initiative.rb

Overview

Create or update a Linear initiative. When id is present, updates the existing initiative; otherwise creates a new one. Resolves owner via Resolvers::User and parent initiative names via Resolvers::Initiative.

Constant Summary collapse

RETURN_FIELDS =

standard:enable Layout/LineLength

<<~GRAPHQL
  id
  name
  description
  content
  status
  color
  targetDate
  url
  owner { id name }
  parentInitiative { id name }
GRAPHQL
CREATE_MUTATION =
<<~GRAPHQL
  mutation($input: InitiativeCreateInput!) {
    initiativeCreate(input: $input) {
      success
      initiative { #{RETURN_FIELDS.strip} }
    }
  }
GRAPHQL
UPDATE_MUTATION =
<<~GRAPHQL
  mutation($id: String!, $input: InitiativeUpdateInput!) {
    initiativeUpdate(id: $id, input: $input) {
      success
      initiative { #{RETURN_FIELDS.strip} }
    }
  }
GRAPHQL

Instance Method Summary collapse

Methods inherited from Base

call, #call, error_response, success_response

Instance Method Details

#perform(id: nil, **kwargs) ⇒ Object

standard:disable Naming/VariableName



67
68
69
# File 'lib/linear_toon_mcp/tools/save_initiative.rb', line 67

def perform(id: nil, **kwargs)
  id ? update(id, kwargs) : create(kwargs)
end