Class: Checkoff::SelectorClasses::Project::InPortfolioNamedPFunctionEvaluator

Inherits:
FunctionEvaluator show all
Defined in:
lib/checkoff/internal/selector_classes/project.rb

Overview

:in_portfolio_named? function

Constant Summary collapse

FUNCTION_NAME =
:in_portfolio_named?

Instance Method Summary collapse

Methods inherited from FunctionEvaluator

#initialize

Methods inherited from FunctionEvaluator

#evaluate_arg?

Methods included from Logging

#debug, #error, #finer, #info, #logger, #warn

Constructor Details

This class inherits a constructor from Checkoff::SelectorClasses::Project::FunctionEvaluator

Instance Method Details

#evaluate(project, portfolio_name, workspace_name: nil, extra_project_fields: []) ⇒ Boolean

Parameters:

  • project (Asana::Resources::Project)
  • portfolio_name (String)
  • workspace_name (String, nil) (defaults to: nil)
  • extra_project_fields (Array<String>) (defaults to: [])

Returns:

  • (Boolean)


55
56
57
58
59
60
61
# File 'lib/checkoff/internal/selector_classes/project.rb', line 55

def evaluate(project, portfolio_name, workspace_name: nil, extra_project_fields: [])
  workspace_name ||= project.workspace&.name
  workspace_name ||= @workspaces.default_workspace.name
  projects = @portfolios.projects_in_portfolio(workspace_name, portfolio_name,
                                               extra_project_fields:)
  projects.any? { |p| p.name == project.name }
end

#matches?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/checkoff/internal/selector_classes/project.rb', line 45

def matches?
  fn?(selector, FUNCTION_NAME)
end