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



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

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

.find_employeeObject



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

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.



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

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

.pipeline_summaryObject



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

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

.recent_callsObject



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

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

.rep_performanceObject



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

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

.rep_workloadObject



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

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

.team_availabilityObject



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

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