Class: ActBlueReporter::ContributionReport

Inherits:
Base
  • Object
show all
Defined in:
lib/act_blue_reporter/contribution_report.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(payload:) ⇒ ContributionReport

Returns a new instance of ContributionReport.



10
11
12
# File 'lib/act_blue_reporter/contribution_report.rb', line 10

def initialize(payload:)
  @payload = payload
end

Instance Attribute Details

#payloadObject (readonly)

This class takes a report from the Campaign class and formats it for convenience. In particular the structure of the response from ActBlue is different in the case of one or > 1 contributions.



8
9
10
# File 'lib/act_blue_reporter/contribution_report.rb', line 8

def payload
  @payload
end

Instance Method Details

#countObject



26
27
28
# File 'lib/act_blue_reporter/contribution_report.rb', line 26

def count
  @payload["count"] || 0
end

#reportObject



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/act_blue_reporter/contribution_report.rb', line 14

def report
  # The hash from ActBlue is structured differently in the case of
  # 1 or 1+ responses. This code returns a predictable structure
  if count == 0
    []
  elsif count == 1
    [] << @payload["contribution"]
  else
    @payload["contribution"]
  end
end