Class: LinearToonMcp::Tools::GetUser

Inherits:
Get
  • Object
show all
Defined in:
lib/linear_toon_mcp/tools/get_user.rb

Overview

Fetch a single Linear user by id, name, email, or the literal “me”.

Constant Summary collapse

QUERY =
<<~GRAPHQL
  query($id: String!) {
    user(id: $id) {
      id
      name
      displayName
      email
      active
      admin
      createdAt
    }
  }
GRAPHQL

Instance Method Summary collapse

Methods inherited from Get

entity, entity_label, entity_name, #not_found_message, query_string, #variables

Methods inherited from Base

call, #call, error_response, success_response

Instance Method Details

#perform(query:) ⇒ Object



37
38
39
40
41
# File 'lib/linear_toon_mcp/tools/get_user.rb', line 37

def perform(query:)
  user_id = Resolvers::User.call(value: query)
  data = client.query(QUERY, variables: {id: user_id})
  data["user"] or raise Error, "User not found: #{query}"
end