Class: Girb::Tools::InspectObject
- Inherits:
-
Base
- Object
- Base
- Girb::Tools::InspectObject
show all
- Defined in:
- lib/girb/tools/inspect_object.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
available?, to_gemini_tool, tool_name
Class Method Details
.description ⇒ Object
9
10
11
|
# File 'lib/girb/tools/inspect_object.rb', line 9
def description
"Inspect a variable or expression in the current context. Returns detailed information about the object."
end
|
.parameters ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/girb/tools/inspect_object.rb', line 13
def parameters
{
type: "object",
properties: {
expression: {
type: "string",
description: "The variable name or Ruby expression to inspect (e.g., 'user', 'user.errors', '@items.first')"
}
},
required: ["expression"]
}
end
|
Instance Method Details
#execute(binding, expression:) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/girb/tools/inspect_object.rb', line 27
def execute(binding, expression:)
result = binding.eval(expression)
{
expression: expression,
class: result.class.name,
value: safe_inspect(result),
instance_variables: (result),
methods_count: result.methods.count
}
rescue SyntaxError => e
{ error: "Syntax error: #{e.message}" }
rescue StandardError => e
{ error: "#{e.class}: #{e.message}" }
end
|