Class: ActBlueReporter::Campaign

Inherits:
Connect show all
Defined in:
lib/act_blue_reporter/campaign.rb

Constant Summary

Constants inherited from Connect

ActBlueReporter::Connect::ACTBLUE_URI, ActBlueReporter::Connect::HEADER

Instance Method Summary collapse

Constructor Details

#initialize(act_blue_login:, act_blue_password:, act_blue_entity_id:) ⇒ Campaign

This class models a campaign or committee at ActBlue and provides some basic functionality. ActBlue calls these “entities”.



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

def initialize(act_blue_login:, act_blue_password:, act_blue_entity_id: )
  @auth = { username: , password: act_blue_password }
  @act_blue_entity_id = act_blue_entity_id
end

Instance Method Details

#all_contributionsObject



21
22
23
24
25
# File 'lib/act_blue_reporter/campaign.rb', line 21

def all_contributions
  request_uri = "/contributions?destination=#{@act_blue_entity_id}"
  response = make_request(request_uri: request_uri, authentication: @auth)
  response["contributions"]
end

#contributions_in_last_24_hrsObject

Mostly for syntax and clarity



38
39
40
# File 'lib/act_blue_reporter/campaign.rb', line 38

def contributions_in_last_24_hrs
  contributions_in_time_range()
end

#contributions_in_time_range(start_time: (Time.now.at_beginning_of_day - 24.hours).iso8601, end_time: Time.now.at_beginning_of_day.iso8601) ⇒ Object

Defaults to the last 24 hours if no arguments are supplied



28
29
30
31
32
33
34
35
# File 'lib/act_blue_reporter/campaign.rb', line 28

def contributions_in_time_range(start_time: (Time.now.at_beginning_of_day - 24.hours).iso8601, 
                                end_time: Time.now.at_beginning_of_day.iso8601)
  request_uri = "/contributions?destination=#{@entity.to_s}&" +
                "payment_timestamp=#{start_time.to_s}/" +
                "#{end_time.to_s}"
  response = make_request(request_uri: request_uri, authentication: @auth)
  response["contributions"]
end

#detailsObject



15
16
17
18
19
# File 'lib/act_blue_reporter/campaign.rb', line 15

def details
  request_uri = "/entities/#{@act_blue_entity_id}"
  response = make_request(request_uri: request_uri, authentication: @auth)
  response["entity"]
end