Class: LinearToonMcp::Tools::ListComments

Inherits:
List
  • Object
show all
Defined in:
lib/linear_toon_mcp/tools/list_comments.rb

Overview

List comments on an issue, project, initiative, or project status update. Exactly one parent identifies the conversation.

Constant Summary collapse

QUERY =

standard:enable Layout/LineLength

<<~GRAPHQL
  query($filter: CommentFilter, $first: Int, $after: String, $orderBy: PaginationOrderBy) {
    comments(filter: $filter, first: $first, after: $after, orderBy: $orderBy) {
      nodes {
        id
        body
        createdAt
        editedAt
        user { id name }
        parent { id }
      }
      pageInfo { hasNextPage endCursor }
    }
  }
GRAPHQL

Instance Method Summary collapse

Methods inherited from List

connection, connection_name, #perform, query_string

Methods inherited from Base

call, #call, error_response, #perform, success_response

Instance Method Details

#variables(issue: nil, project: nil, initiative: nil, projectUpdate: nil, cursor: nil, limit: nil, orderBy: nil) ⇒ Object

standard:disable Naming/VariableName



48
49
50
51
52
53
54
55
56
57
# File 'lib/linear_toon_mcp/tools/list_comments.rb', line 48

def variables(issue: nil, project: nil, initiative: nil, projectUpdate: nil,
  cursor: nil, limit: nil, orderBy: nil)
  vars = {
    first: (limit || 50).clamp(1, 250),
    orderBy: orderBy || "createdAt",
    filter: parent_filter(issue:, project:, initiative:, projectUpdate:)
  }
  vars[:after] = cursor if cursor
  vars
end