Class: OmnifocusMcp::Resources::ProjectResource
- Defined in:
- lib/omnifocus_mcp/resources/project_resource.rb
Overview
Tasks in a specific OmniFocus project, addressed by name.
‘#content` (via `#payload`) is the sole entry point.
Constant Summary collapse
- FIELDS =
%w[ id name flagged dueDate deferDate taskStatus tagNames parentId note estimatedMinutes ].freeze
Instance Method Summary collapse
Methods inherited from Base
Instance Method Details
#payload ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/omnifocus_mcp/resources/project_resource.rb', line 21 def payload name = params[:name].to_s OmnifocusMcp.logger.warn("[resource:project] Reading project: #{name}") params = Tools::Params::QueryOmnifocusParams.from_hash( entity: "tasks", filters: { project_name: name }, fields: FIELDS ) Tools::Operations::QueryOmnifocus.call(params).fold( on_ok: ->(match) { snake_case_keys(match.items || []) }, on_error: ->(err) { { error: err } } ) end |