Class: OmnifocusMcp::Resources::PerspectiveResource

Inherits:
Base
  • Object
show all
Defined in:
lib/omnifocus_mcp/resources/perspective_resource.rb

Overview

Items visible in a named OmniFocus perspective.

‘#content` (via `#payload`) is the sole entry point.

Instance Method Summary collapse

Methods inherited from Base

#content, #items_or_empty

Instance Method Details

#payloadObject



16
17
18
19
20
21
22
23
24
25
# File 'lib/omnifocus_mcp/resources/perspective_resource.rb', line 16

def payload
  name = params[:name].to_s
  OmnifocusMcp.logger.warn("[resource:perspective] Reading perspective: #{name}")

  params = Tools::Params::GetPerspectiveViewParams.from_hash(perspective_name: name)
  Tools::Operations::GetPerspectiveView.call(params).fold(
    on_ok: ->(items) { snake_case_keys(items || []) },
    on_error: ->(err) { { error: err } }
  )
end