Class: Report::OrdersOriginReport::OrdersReportCommand

Inherits:
BaseCommand
  • Object
show all
Defined in:
app/services/report/orders_origin_report/orders_report_command.rb

Overview

Command pattern to encapsulate parameters necessary to run a presence report

Constant Summary collapse

GROUPING_OPTIONS =

Available grouping options.

[%w[quarter quarter], %w[month month], %w[week week]].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#groupingObject (readonly)



12
# File 'app/services/report/orders_origin_report/orders_report_command.rb', line 12

validates :grouping, inclusion: { in: GROUPING_OPTIONS.map(&:first) }

Instance Method Details

#executeObject



14
15
16
17
18
# File 'app/services/report/orders_origin_report/orders_report_command.rb', line 14

def execute
  return unless valid?

  @result = Report::OrdersOriginReport::OrdersReport.opportunity_report(attributes)
end

#success?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'app/services/report/orders_origin_report/orders_report_command.rb', line 20

def success?
  valid? && @result.success?
end