Class: Assistant::SalesManagementToolBuilder

Inherits:
Object
  • Object
show all
Defined in:
app/services/assistant/sales_management_tool_builder.rb

Overview

Front-door for the sales-management tool family. The implementation is
split across Assistant::SalesManagement::{BriefTools, EmployeeTools, PipelineTools} so each domain stays digestible — see
.agents/skills/god-object-decomposition. This class concatenates their tool
lists and re-exports the entry points the tests + factories call.

Constant Summary collapse

MAX_RESULTS =
SalesManagement::EmployeeTools::MAX_RESULTS

Class Method Summary collapse

Class Method Details

.customer_briefObject



27
28
29
# File 'app/services/assistant/sales_management_tool_builder.rb', line 27

def self.customer_brief(**)
  SalesManagement::BriefTools.customer_brief(**)
end

.find_employeeObject



31
32
33
# File 'app/services/assistant/sales_management_tool_builder.rb', line 31

def self.find_employee(**)
  SalesManagement::EmployeeTools.find_employee(**)
end

.opportunity_briefObject

── Delegating entry points ─────────────────────────────────────
Kept for backwards compatibility with anything that still calls
Assistant::SalesManagementToolBuilder.foo directly (tests, ad-hoc
rails-runner scripts, future call sites). New code should reach for
the sub-builder module so the grouping stays meaningful.



23
24
25
# File 'app/services/assistant/sales_management_tool_builder.rb', line 23

def self.opportunity_brief(**)
  SalesManagement::BriefTools.opportunity_brief(**)
end

.pipeline_summaryObject



39
40
41
# File 'app/services/assistant/sales_management_tool_builder.rb', line 39

def self.pipeline_summary(**)
  SalesManagement::PipelineTools.pipeline_summary(**)
end

.recent_callsObject



51
52
53
# File 'app/services/assistant/sales_management_tool_builder.rb', line 51

def self.recent_calls(**)
  SalesManagement::PipelineTools.recent_calls(**)
end

.rep_performanceObject



47
48
49
# File 'app/services/assistant/sales_management_tool_builder.rb', line 47

def self.rep_performance(**)
  SalesManagement::PipelineTools.rep_performance(**)
end

.rep_workloadObject



43
44
45
# File 'app/services/assistant/sales_management_tool_builder.rb', line 43

def self.rep_workload(**)
  SalesManagement::PipelineTools.rep_workload(**)
end

.team_availabilityObject



35
36
37
# File 'app/services/assistant/sales_management_tool_builder.rb', line 35

def self.team_availability(**)
  SalesManagement::EmployeeTools.team_availability(**)
end

.toolsObject



12
13
14
15
16
# File 'app/services/assistant/sales_management_tool_builder.rb', line 12

def self.tools
  SalesManagement::BriefTools.tools +
    SalesManagement::EmployeeTools.tools +
    SalesManagement::PipelineTools.tools
end