class ActBlueReporter::Campaign

Public Class Methods

new(act_blue_login:, act_blue_password:, act_blue_entity_id: ) click to toggle source

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

# File lib/act_blue_reporter/campaign.rb, line 10
def initialize(act_blue_login:, act_blue_password:, act_blue_entity_id: )
  @auth = { username: act_blue_login, password: act_blue_password }
  @act_blue_entity_id = act_blue_entity_id
end

Public Instance Methods

all_contributions() click to toggle source
# 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_hrs() click to toggle source

Mostly for syntax and clarity

# 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) click to toggle source

Defaults to the last 24 hours if no arguments are supplied

# 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
details() click to toggle source
# 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